aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/i386/i386.md
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2000-07-31 10:30:44 +0000
committerJan Hubicka <jh@suse.cz>2000-07-31 10:30:44 +0000
commite1700749d1e1549d92269ba5608075e956c3f88f (patch)
tree9ee48c65d7802b006a975a8816cb4b67564c7883 /gcc/config/i386/i386.md
parent77273ec4c4858f9b3afbc2e810d7dca40768bb41 (diff)
* i386.md (addsi to lea splitter, ashlqi3_1_lea): Fix bugs
in my last checkin. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@35370 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/i386/i386.md')
-rw-r--r--gcc/config/i386/i386.md4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index a267232f97e..5b2aea37744 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -3902,7 +3902,6 @@
"
{
rtx pat;
- operands[0] = gen_lowpart (SImode, operands[0]);
/* In -fPIC mode the constructs like (const (unspec [symbol_ref]))
may confuse gen_lowpart. */
if (GET_MODE (operands[0]) != Pmode)
@@ -3910,6 +3909,7 @@
operands[1] = gen_lowpart (Pmode, operands[1]);
operands[2] = gen_lowpart (Pmode, operands[2]);
}
+ operands[0] = gen_lowpart (SImode, operands[0]);
pat = gen_rtx_PLUS (Pmode, operands[1], operands[2]);
if (Pmode != SImode)
pat = gen_rtx_SUBREG (SImode, pat, 0);
@@ -6691,7 +6691,7 @@
(define_insn "*ashlqi3_1_lea"
[(set (match_operand:QI 0 "nonimmediate_operand" "=qm,r,r")
(ashift:QI (match_operand:QI 1 "nonimmediate_operand" "0,0,r")
- (match_operand:QI 2 "nonmemory_operand" "cI,cI,r")))
+ (match_operand:QI 2 "nonmemory_operand" "cI,cI,M")))
(clobber (reg:CC 17))]
"!TARGET_PARTIAL_REG_STALL
&& ix86_binary_operator_ok (ASHIFT, QImode, operands)"