Commit 6bdcc60c by Uros Bizjak

i386.md (expm1xf2): Reorder insn sequence for better code generation.

	* config/i386/i386.md (expm1xf2): Reorder insn sequence for
	better code generation.

From-SVN: r122158
parent 77bb16aa
2007-02-20 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (expm1xf2): Reorder insn sequence for
better code generation.
2007-02-20 Ben Elliston <bje@au.ibm.com> 2007-02-20 Ben Elliston <bje@au.ibm.com>
* config/m68hc11/m68hc11.h (OVERRIDE_OPTIONS): Remove extra ;. * config/m68hc11/m68hc11.h (OVERRIDE_OPTIONS): Remove extra ;.
...@@ -74,9 +79,9 @@ ...@@ -74,9 +79,9 @@
2007-02-19 Richard Henderson <rth@redhat.com> 2007-02-19 Richard Henderson <rth@redhat.com>
PR debug/29558 PR debug/29558
* var-tracking.c (track_expr_p): Disallow AGGREGATE_TYPE_P * var-tracking.c (track_expr_p): Disallow AGGREGATE_TYPE_P
in memory. in memory.
2007-02-19 Andreas Krebbel <krebbel1@de.ibm.com> 2007-02-19 Andreas Krebbel <krebbel1@de.ibm.com>
...@@ -826,7 +831,7 @@ ...@@ -826,7 +831,7 @@
* except.c (expand_builtin_eh_return_data_regno): Pass entire * except.c (expand_builtin_eh_return_data_regno): Pass entire
CALL_EXPR as parameter instead of arglist. Use new CALL_EXPR CALL_EXPR as parameter instead of arglist. Use new CALL_EXPR
accessors. accessors.
* coverage.c (create_coverage): Use build_call_expr. * coverage.c (create_coverage): Use build_call_expr.
...@@ -2333,8 +2338,8 @@ ...@@ -2333,8 +2338,8 @@
2007-02-03 Douglas Gregor <doug.gregor@gmail.com> 2007-02-03 Douglas Gregor <doug.gregor@gmail.com>
* c-opts.c (c_common_post_options): If C++0x mode is enabled, don't * c-opts.c (c_common_post_options): If C++0x mode is enabled, don't
warn about C++0x compatibility. warn about C++0x compatibility.
2007-02-04 Kazu Hirata <kazu@codesourcery.com> 2007-02-04 Kazu Hirata <kazu@codesourcery.com>
......
...@@ -17145,11 +17145,12 @@ ...@@ -17145,11 +17145,12 @@
(match_dup 2))) (match_dup 2)))
(set (match_dup 4) (unspec:XF [(match_dup 3)] UNSPEC_FRNDINT)) (set (match_dup 4) (unspec:XF [(match_dup 3)] UNSPEC_FRNDINT))
(set (match_dup 5) (minus:XF (match_dup 3) (match_dup 4))) (set (match_dup 5) (minus:XF (match_dup 3) (match_dup 4)))
(set (match_dup 9) (float_extend:XF (match_dup 13)))
(set (match_dup 6) (unspec:XF [(match_dup 5)] UNSPEC_F2XM1)) (set (match_dup 6) (unspec:XF [(match_dup 5)] UNSPEC_F2XM1))
(parallel [(set (match_dup 7) (parallel [(set (match_dup 7)
(unspec:XF [(match_dup 6) (match_dup 4)] (unspec:XF [(match_dup 6) (match_dup 4)]
UNSPEC_FSCALE_FRACT)) UNSPEC_FSCALE_FRACT))
(set (match_dup 8) (set (match_dup 8)
(unspec:XF [(match_dup 6) (match_dup 4)] (unspec:XF [(match_dup 6) (match_dup 4)]
UNSPEC_FSCALE_EXP))]) UNSPEC_FSCALE_EXP))])
(parallel [(set (match_dup 10) (parallel [(set (match_dup 10)
...@@ -17158,7 +17159,8 @@ ...@@ -17158,7 +17159,8 @@
(set (match_dup 11) (set (match_dup 11)
(unspec:XF [(match_dup 9) (match_dup 8)] (unspec:XF [(match_dup 9) (match_dup 8)]
UNSPEC_FSCALE_EXP))]) UNSPEC_FSCALE_EXP))])
(set (match_dup 12) (minus:XF (match_dup 10) (match_dup 9))) (set (match_dup 12) (minus:XF (match_dup 10)
(float_extend:XF (match_dup 13))))
(set (match_operand:XF 0 "register_operand" "") (set (match_operand:XF 0 "register_operand" "")
(plus:XF (match_dup 12) (match_dup 7)))] (plus:XF (match_dup 12) (match_dup 7)))]
"TARGET_USE_FANCY_MATH_387 "TARGET_USE_FANCY_MATH_387
...@@ -17168,9 +17170,11 @@ ...@@ -17168,9 +17170,11 @@
for (i = 2; i < 13; i++) for (i = 2; i < 13; i++)
operands[i] = gen_reg_rtx (XFmode); operands[i] = gen_reg_rtx (XFmode);
operands[13]
= validize_mem (force_const_mem (SFmode, CONST1_RTX (SFmode))); /* fld1 */
emit_move_insn (operands[2], standard_80387_constant_rtx (5)); /* fldl2e */ emit_move_insn (operands[2], standard_80387_constant_rtx (5)); /* fldl2e */
emit_move_insn (operands[9], CONST1_RTX (XFmode)); /* fld1 */
}) })
(define_expand "expm1<mode>2" (define_expand "expm1<mode>2"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment