aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2000-07-31 10:30:44 +0000
committerJan Hubicka <hubicka@gcc.gnu.org>2000-07-31 10:30:44 +0000
commit91f9a498c426fe5851788b94adcb6d3911949107 (patch)
tree9ee48c65d7802b006a975a8816cb4b67564c7883 /gcc
parente7adb6fbb7b14b5650746828ee8d6f81b7a0259b (diff)
downloadgcc-91f9a498c426fe5851788b94adcb6d3911949107.zip
gcc-91f9a498c426fe5851788b94adcb6d3911949107.tar.gz
gcc-91f9a498c426fe5851788b94adcb6d3911949107.tar.bz2
i386.md (addsi to lea splitter, [...]): Fix bugs in my last checkin.
* i386.md (addsi to lea splitter, ashlqi3_1_lea): Fix bugs in my last checkin. From-SVN: r35370
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/i386/i386.md4
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9e289d5..adb5675 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Mon Jul 31 12:27:55 MET DST 2000 Jan Hubicka <jh@suse.cz>
+
+ * i386.md (addsi to lea splitter, ashlqi3_1_lea): Fix bugs
+ in my last checkin.
+
Mon Jul 31 10:41:01 MET DST 2000 Jan Hubicka <jh@suse.cz>
* recog.c (extract_insn): Set operand_mode according to
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index a267232..5b2aea3 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)"