]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR objc/5587 (Objc problems with user_label_prefix)
authorJan Hubicka <jh@suse.cz>
Wed, 6 Feb 2008 11:34:00 +0000 (12:34 +0100)
committerJan Hubicka <hubicka@gcc.gnu.org>
Wed, 6 Feb 2008 11:34:00 +0000 (11:34 +0000)
PR target/5587
* i386.md (moddf_integer): Do not produce partial memory stalls for
targets where it hurts.

From-SVN: r132145

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

index c6631740992d9cdf4a94d7b4b12c557130fe42f3..3b81415bb0f010983a8732780656ba6d55aff2b6 100644 (file)
@@ -1,3 +1,9 @@
+2008-02-06  Jan Hubicka  <jh@suse.cz>
+
+       PR target/5587
+       * i386.md (moddf_integer): Do not produce partial memory stalls for
+       targets where it hurts.
+
 2008-02-06  Uros Bizjak  <ubizjak@gmail.com>
 
        PR target/35083
index fce691c38a765b1d1301a9939c0712dcf968e980..1724c0df7f5bdec515da55d5747b7500f63afd02 100644 (file)
   [(set (match_operand:DF 0 "nonimmediate_operand"
                        "=f,m,f,*r  ,o  ,Y2*x,Y2*x,Y2*x ,m  ")
        (match_operand:DF 1 "general_operand"
-                       "fm,f,G,*roF,F*r,C   ,Y2*x,mY2*x,Y2*x"))]
+                       "fm,f,G,*roF,*Fr,C   ,Y2*x,mY2*x,Y2*x"))]
   "!(MEM_P (operands[0]) && MEM_P (operands[1]))
    && ((optimize_size || !TARGET_INTEGER_DFMODE_MOVES) && !TARGET_64BIT)
    && (reload_in_progress || reload_completed
        || (ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_LARGE)
        || (!(TARGET_SSE2 && TARGET_SSE_MATH) && optimize_size
+           && !memory_operand (operands[0], DFmode)
           && standard_80387_constant_p (operands[1]))
        || GET_CODE (operands[1]) != CONST_DOUBLE
-       || memory_operand (operands[0], DFmode))"
+       || ((optimize_size
+            || !TARGET_MEMORY_MISMATCH_STALL
+           || reload_in_progress || reload_completed)
+          && memory_operand (operands[0], DFmode)))"
 {
   switch (which_alternative)
     {