OSDN Git Service

* config/i386/i386.md (*cmpfp_<mode>): Enable for optimize_size.
authoruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 2 Jun 2008 11:08:00 +0000 (11:08 +0000)
committeruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 2 Jun 2008 11:08:00 +0000 (11:08 +0000)
(*cmpfp_<mode>_cc): Ditto.
(*fp_jcc_8<mode>_387): Ditto.
(*fop_<MODEF:mode>_2_i387): Ditto.
(*fop_<MODEF:mode>_3_i387): Ditto.
(*fop_xf_2_i387): Ditto.
(*fop_xf_3_i387): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@136276 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/i386/i386.md

index e3888fd..0cc0223 100644 (file)
@@ -1,6 +1,16 @@
+2008-05-31  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (*cmpfp_<mode>): Enable for optimize_size.
+       (*cmpfp_<mode>_cc): Ditto.
+       (*fp_jcc_8<mode>_387): Ditto.
+       (*fop_<MODEF:mode>_2_i387): Ditto.
+       (*fop_<MODEF:mode>_3_i387): Ditto.
+       (*fop_xf_2_i387): Ditto.
+       (*fop_xf_3_i387): Ditto.
+
 2008-06-02  Tomas Bily  <tbily@suse.cz>
 
-        * tree-ssa-ifcombine.c (get_name_for_bit_test): Use CONVERT_EXPR_P.
+       * tree-ssa-ifcombine.c (get_name_for_bit_test): Use CONVERT_EXPR_P.
 
 2008-06-01  Richard Sandiford  <rdsandiford@googlemail.com>
 
        Revert
        2007-11-29  Zdenek Dvorak  <ook@ucw.cz>
 
-        PR tree-optimization/34244
-        * tree-vrp.c (adjust_range_with_scev): Clear scev cache.
-        (record_numbers_of_iterations): New function.
-        (execute_vrp): Cache the numbers of iterations of loops.
-        * tree-scalar-evolution.c (scev_reset_except_niters):
-        New function.
-        (scev_reset): Use scev_reset_except_niters.
-        * tree-scalar-evolution.h (scev_reset_except_niters): Declare.
+       PR tree-optimization/34244
+       * tree-vrp.c (adjust_range_with_scev): Clear scev cache.
+       (record_numbers_of_iterations): New function.
+       (execute_vrp): Cache the numbers of iterations of loops.
+       * tree-scalar-evolution.c (scev_reset_except_niters):
+       New function.
+       (scev_reset): Use scev_reset_except_niters.
+       * tree-scalar-evolution.h (scev_reset_except_niters): Declare.
 
 2008-05-31  Bernd Schmidt  <bernd.schmidt@analog.com>
 
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" "")