Hello!

optimize_size clears TARGET_INTEGER_DFMODE_MOVES, so we can simplify
movdf_internal insn condition a bit.

2011-05-15  Uros Bizjak  <ubiz...@gmail.com>

        * config/i386/i386.md (*movdf_internal): Simplify insn condition.

Tested on x86_64-pc-linux-gnu {,-m32}, committed to mainline SVN.

Uros.

Index: config/i386/i386.md
===================================================================
--- config/i386/i386.md (revision 173771)
+++ config/i386/i386.md (working copy)
@@ -3050,15 +3050,14 @@
    && (!can_create_pseudo_p ()
        || (ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_LARGE)
        || GET_CODE (operands[1]) != CONST_DOUBLE
-       || (optimize_function_for_size_p (cfun)
+       || (!TARGET_INTEGER_DFMODE_MOVES
           && ((!(TARGET_SSE2 && TARGET_SSE_MATH)
                && standard_80387_constant_p (operands[1]) > 0)
               || (TARGET_SSE2 && TARGET_SSE_MATH
                   && standard_sse_constant_p (operands[1])))
           && !memory_operand (operands[0], DFmode))
        || ((TARGET_INTEGER_DFMODE_MOVES
-           || (optimize_function_for_size_p (cfun)
-               && !TARGET_MEMORY_MISMATCH_STALL))
+           || !TARGET_MEMORY_MISMATCH_STALL)
           && memory_operand (operands[0], DFmode)))"
 {
   switch (which_alternative)

Reply via email to