OSDN Git Service

* config/i386/i386.md (*cmpfp_<mode>): Enable for optimize_size.
[pf3gnuchains/gcc-fork.git] / gcc / config / i386 / i386.md
index c245a49..2eec13e 100644 (file)
               [(match_operand:X87MODEI12 2 "memory_operand" "m")]))]
          UNSPEC_FNSTSW))]
   "X87_FLOAT_MODE_P (GET_MODE (operands[1]))
-   && TARGET_USE_<MODE>MODE_FIOP
+   && (TARGET_USE_<MODE>MODE_FIOP || optimize_size)
    && (GET_MODE (operands [3]) == GET_MODE (operands[1]))"
   "* return output_fp_compare (insn, operands, 0, 0);"
   [(set_attr "type" "multi")
    (clobber (match_operand:HI 0 "register_operand" "=a"))]
   "X87_FLOAT_MODE_P (GET_MODE (operands[1]))
    && TARGET_SAHF && !TARGET_CMOVE
-   && TARGET_USE_<MODE>MODE_FIOP
+   && (TARGET_USE_<MODE>MODE_FIOP || optimize_size)
    && (GET_MODE (operands [3]) == GET_MODE (operands[1]))"
   "#"
   "&& reload_completed"
    (clobber (reg:CCFP FLAGS_REG))
    (clobber (match_scratch:HI 5 "=a,a"))]
   "X87_FLOAT_MODE_P (GET_MODE (operands[3]))
-   && TARGET_USE_<MODE>MODE_FIOP
+   && (TARGET_USE_<MODE>MODE_FIOP || optimize_size)
    && GET_MODE (operands[1]) == GET_MODE (operands[3])
    && !ix86_use_fcomi_compare (swap_condition (GET_CODE (operands[0])))
    && ix86_fp_compare_mode (swap_condition (GET_CODE (operands[0]))) == CCFPmode
             (match_operand:X87MODEI12 1 "nonimmediate_operand" "m,?r"))
           (match_operand:MODEF 2 "register_operand" "0,0")]))]
   "TARGET_80387 && !TARGET_SSE_MATH
-   && TARGET_USE_<X87MODEI12:MODE>MODE_FIOP"
+   && (TARGET_USE_<X87MODEI12:MODE>MODE_FIOP || optimize_size)"
   "* return which_alternative ? \"#\" : output_387_binary_op (insn, operands);"
   [(set (attr "type")
         (cond [(match_operand:MODEF 3 "mult_operator" "")
           (float:MODEF
             (match_operand:X87MODEI12 2 "nonimmediate_operand" "m,?r"))]))]
   "TARGET_80387 && !TARGET_SSE_MATH
-   && TARGET_USE_<X87MODEI12:MODE>MODE_FIOP"
+   && (TARGET_USE_<X87MODEI12:MODE>MODE_FIOP || optimize_size)"
   "* return which_alternative ? \"#\" : output_387_binary_op (insn, operands);"
   [(set (attr "type")
         (cond [(match_operand:MODEF 3 "mult_operator" "")
 (define_insn "*fop_df_4_i387"
   [(set (match_operand:DF 0 "register_operand" "=f,f")
        (match_operator:DF 3 "binary_fp_operator"
-          [(float_extend:DF (match_operand:SF 1 "nonimmediate_operand" "fm,0"))
+          [(float_extend:DF
+            (match_operand:SF 1 "nonimmediate_operand" "fm,0"))
            (match_operand:DF 2 "register_operand" "0,f")]))]
   "TARGET_80387 && !(TARGET_SSE2 && TARGET_SSE_MATH)
    && !(MEM_P (operands[1]) && MEM_P (operands[2]))"
          [(float:XF
             (match_operand:X87MODEI12 1 "nonimmediate_operand" "m,?r"))
           (match_operand:XF 2 "register_operand" "0,0")]))]
-  "TARGET_80387 && TARGET_USE_<MODE>MODE_FIOP"
+  "TARGET_80387 && (TARGET_USE_<MODE>MODE_FIOP || optimize_size)"
   "* return which_alternative ? \"#\" : output_387_binary_op (insn, operands);"
   [(set (attr "type")
         (cond [(match_operand:XF 3 "mult_operator" "")
          [(match_operand:XF 1 "register_operand" "0,0")
           (float:XF
             (match_operand:X87MODEI12 2 "nonimmediate_operand" "m,?r"))]))]
-  "TARGET_80387 && TARGET_USE_<MODE>MODE_FIOP"
+  "TARGET_80387 && (TARGET_USE_<MODE>MODE_FIOP || optimize_size)"
   "* return which_alternative ? \"#\" : output_387_binary_op (insn, operands);"
   [(set (attr "type")
         (cond [(match_operand:XF 3 "mult_operator" "")