OSDN Git Service

* config/i386/i386.md (*movxf_internal): Use !can_create_pseudo ().
authoruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 13 May 2011 10:16:43 +0000 (10:16 +0000)
committeruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 13 May 2011 10:16:43 +0000 (10:16 +0000)
(*movxf_internal_nointeger): Ditto.
(*movdf_internal_rex64): Ditto.
(*movdf_internal): Ditto.
(*movdf_internal_nointeger): Ditto.
(*movsf_internal): Ditto.
(sincos splitters): Use can_create_pseudo ().

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

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

index 6ca7e8d..b1a1b3b 100644 (file)
@@ -1,3 +1,13 @@
+2011-05-13  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (*movxf_internal): Use !can_create_pseudo ().
+       (*movxf_internal_nointeger): Ditto.
+       (*movdf_internal_rex64): Ditto.
+       (*movdf_internal): Ditto.
+       (*movdf_internal_nointeger): Ditto.
+       (*movsf_internal): Ditto.
+       (sincos splitters): Use can_create_pseudo ().
+
 2011-05-13  Joseph Myers  <joseph@codesourcery.com>
 
        * config/i386/i386-opts.h: New.
        (ix86_option_override_internal): Don't decode strings for options
        other than -march=, -mtune= and -mfpmath=.  Don't allow for
        __attribute__ uses in remaining diagnostics for options with
-       string arguments.  Don't check for integer arguments being
-       negative.
+       string arguments.  Don't check for integer arguments being negative.
        * gcc/config/i386/i386.h (enum stringop_alg, enum calling_abi,
-       enum tls_dialect, enum cmodel, enum asm_dialect): Move to
-       i386-opts.h.
+       enum tls_dialect, enum cmodel, enum asm_dialect): Move to i386-opts.h.
        (ix86_abi, ix86_tls_dialect, ix86_cmodel, ix86_asm_dialect,
        ix86_branch_cost, ix86_section_threshold): Remove.
        * gcc/config/i386/i386.opt (config/i386/i386-opts.h): New
 
 2011-05-13  Nick Clifton  <nickc@redhat.com>
 
-       * config/rx/rx.md (mov expander): Fix use of
-       rx_legitimate_constant_p.
-       * config/rx/rx-protos.h (rx_legitimate_constant_p): Rename
-       prototype.
+       * config/rx/rx.md (mov expander): Fix use of rx_legitimate_constant_p.
+       * config/rx/rx-protos.h (rx_legitimate_constant_p): Rename prototype.
 
 2011-05-13  Kai Tietz  <ktietz@redhat.com>
 
@@ -68,8 +74,7 @@
 
 2011-05-12  H.J. Lu  <hongjiu.lu@intel.com>
 
-       * config/i386/i386.c (ix86_save_reg): Change maybe_eh_return
-       to bool.
+       * config/i386/i386.c (ix86_save_reg): Change maybe_eh_return to bool.
        (ix86_emit_restore_regs_using_mov): Likewise.
        (ix86_emit_restore_sse_regs_using_mov): Likewise.
 
        (ADD_RX_BUILTIN1, ADD_RX_BUILTIN2, ADD_RX_BUILTIN3): Install
        created builtin into rx_builtins array.
        (rx_builtin_decl): New function.
-       (TARGET_BUITLIN_DECL): Define.
-       Include gt-rx.h.
+       (TARGET_BUITLIN_DECL): Define.  Include gt-rx.h.
 
 2011-05-12  DJ Delorie  <dj@redhat.com>
            Nick Clifton  <nickc@redhat.com>
        addressing in HImode and QImode.  Fix test for out of range
        REG+INT addressing.
        (rx_legitimate_constant_p): Rename to rx_is_legitimate_constant.
-       (rx_align_for_label): Test label before extracting its usage
-       count.
+       (rx_align_for_label): Test label before extracting its usage count.
        (rx_adjust_insn_lengths): Fix selection of insn codes.
        (TARGET_LEGITIMATE_CONSTANT_P): Use renamed function.
 
 2011-05-11  Satoru Takabayashi  <satorux@google.com>
            Paul Pluzhnikov  <ppluzhnikov@google.com>
 
-       * doc/install.texi (Configuration): Document
-       --with-linker-hash-style.
+       * doc/install.texi (Configuration): Document --with-linker-hash-style.
        * gcc.c (init_spec): Handle LINKER_HASH_STYLE.
        * config.in: Add LINKER_HASH_STYLE.
        * configure.ac: Add --with-linker-hash-style.
index 028eafd..b0c4c83 100644 (file)
        (match_operand:XF 1 "general_operand" "fm,f,G,roF,Fr"))]
   "optimize_function_for_speed_p (cfun)
    && !(MEM_P (operands[0]) && MEM_P (operands[1]))
-   && (reload_in_progress || reload_completed
+   && (!can_create_pseudo_p ()
        || GET_CODE (operands[1]) != CONST_DOUBLE
        || memory_operand (operands[0], XFmode))"
 {
        (match_operand:XF 1 "general_operand" "fm,f,G,*roF,F*r"))]
   "optimize_function_for_size_p (cfun)
    && !(MEM_P (operands[0]) && MEM_P (operands[1]))
-   && (reload_in_progress || reload_completed
+   && (!can_create_pseudo_p ()
        || standard_80387_constant_p (operands[1])
        || GET_CODE (operands[1]) != CONST_DOUBLE
        || memory_operand (operands[0], XFmode))"
        (match_operand:DF 1 "general_operand"
                "fm,f,G,rm,r,F ,F ,C   ,Y2*x,m   ,Y2*x,r ,Yi"))]
   "TARGET_64BIT && !(MEM_P (operands[0]) && MEM_P (operands[1]))
-   && (reload_in_progress || reload_completed
+   && (!can_create_pseudo_p ()
        || (ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_LARGE)
        || (!(TARGET_SSE2 && TARGET_SSE_MATH)
            && optimize_function_for_size_p (cfun)
   "!TARGET_64BIT && !(MEM_P (operands[0]) && MEM_P (operands[1]))
    && optimize_function_for_speed_p (cfun)
    && TARGET_INTEGER_DFMODE_MOVES
-   && (reload_in_progress || reload_completed
+   && (!can_create_pseudo_p ()
        || (ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_LARGE)
        || (!(TARGET_SSE2 && TARGET_SSE_MATH)
            && optimize_function_for_size_p (cfun)
   "!TARGET_64BIT && !(MEM_P (operands[0]) && MEM_P (operands[1]))
    && (optimize_function_for_size_p (cfun)
        || !TARGET_INTEGER_DFMODE_MOVES)
-   && (reload_in_progress || reload_completed
+   && (!can_create_pseudo_p ()
        || (ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_LARGE)
        || (!(TARGET_SSE2 && TARGET_SSE_MATH)
            && optimize_function_for_size_p (cfun)
           && standard_80387_constant_p (operands[1]))
        || GET_CODE (operands[1]) != CONST_DOUBLE
        || ((optimize_function_for_size_p (cfun)
-            || !TARGET_MEMORY_MISMATCH_STALL
-           || reload_in_progress || reload_completed)
+            || !TARGET_MEMORY_MISMATCH_STALL)
           && memory_operand (operands[0], DFmode)))"
 {
   switch (which_alternative)
        (match_operand:SF 1 "general_operand"
          "fm,f,G,rmF,Fr,C,x,xm,x,m  ,*y,*y ,r  ,Yi,r   ,*Ym"))]
   "!(MEM_P (operands[0]) && MEM_P (operands[1]))
-   && (reload_in_progress || reload_completed
+   && (!can_create_pseudo_p ()
        || (ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_LARGE)
        || (!TARGET_SSE_MATH && optimize_function_for_size_p (cfun)
           && standard_80387_constant_p (operands[1]))
    (set (match_operand:XF 1 "register_operand" "")
        (unspec:XF [(match_dup 2)] UNSPEC_SINCOS_SIN))]
   "find_regno_note (insn, REG_UNUSED, REGNO (operands[0]))
-   && !(reload_completed || reload_in_progress)"
+   && can_create_pseudo_p ()"
   [(set (match_dup 1) (unspec:XF [(match_dup 2)] UNSPEC_SIN))])
 
 (define_split
    (set (match_operand:XF 1 "register_operand" "")
        (unspec:XF [(match_dup 2)] UNSPEC_SINCOS_SIN))]
   "find_regno_note (insn, REG_UNUSED, REGNO (operands[1]))
-   && !(reload_completed || reload_in_progress)"
+   && can_create_pseudo_p ()"
   [(set (match_dup 0) (unspec:XF [(match_dup 2)] UNSPEC_COS))])
 
 (define_insn "sincos_extend<mode>xf3_i387"
    (set (match_operand:XF 1 "register_operand" "")
        (unspec:XF [(float_extend:XF (match_dup 2))] UNSPEC_SINCOS_SIN))]
   "find_regno_note (insn, REG_UNUSED, REGNO (operands[0]))
-   && !(reload_completed || reload_in_progress)"
+   && can_create_pseudo_p ()"
   [(set (match_dup 1)
        (unspec:XF [(float_extend:XF (match_dup 2))] UNSPEC_SIN))])
 
    (set (match_operand:XF 1 "register_operand" "")
        (unspec:XF [(float_extend:XF (match_dup 2))] UNSPEC_SINCOS_SIN))]
   "find_regno_note (insn, REG_UNUSED, REGNO (operands[1]))
-   && !(reload_completed || reload_in_progress)"
+   && can_create_pseudo_p ()"
   [(set (match_dup 0)
        (unspec:XF [(float_extend:XF (match_dup 2))] UNSPEC_COS))])