diff options
author | Jan Hubicka <jh@suse.cz> | 2008-02-06 12:34:00 +0100 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2008-02-06 11:34:00 +0000 |
commit | 20a415f83b12a3ef53c18ec29453bce4933bfa74 (patch) | |
tree | e338c23c41066b0918a61fd194b23605ff8219db /gcc | |
parent | cc8d36a15a4dbbf65efc38edbce5660518ea239a (diff) | |
download | gcc-20a415f83b12a3ef53c18ec29453bce4933bfa74.zip gcc-20a415f83b12a3ef53c18ec29453bce4933bfa74.tar.gz gcc-20a415f83b12a3ef53c18ec29453bce4933bfa74.tar.bz2 |
re PR objc/5587 (Objc problems with user_label_prefix)
PR target/5587
* i386.md (moddf_integer): Do not produce partial memory stalls for
targets where it hurts.
From-SVN: r132145
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/i386/i386.md | 8 |
2 files changed, 12 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c663174..3b81415 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index fce691c..1724c0d 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -2690,15 +2690,19 @@ [(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) { |