diff options
author | H.J. Lu <hongjiu.lu@intel.com> | 2010-06-30 09:47:25 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2010-06-30 09:47:25 +0000 |
commit | ed1db00021b18efad27df0fd0c348abb3fa3317a (patch) | |
tree | da7aa03186eb068d4664b0c504dc492656228923 /gcc | |
parent | aea8fc973762254dfd518d202975bc043aba4ba9 (diff) | |
download | gcc-ed1db00021b18efad27df0fd0c348abb3fa3317a.zip gcc-ed1db00021b18efad27df0fd0c348abb3fa3317a.tar.gz gcc-ed1db00021b18efad27df0fd0c348abb3fa3317a.tar.bz2 |
re PR bootstrap/44721 (Failed to bootstrap (ICE in extract_insn, at recog.c:2127))
2010-06-30 H.J. Lu <hongjiu.lu@intel.com>
PR target/44721
* config/i386/i386.md (peephole2 for arithmetic ops with memory):
Fix last commit.
From-SVN: r161594
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/i386/i386.md | 9 |
2 files changed, 12 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bd7f730..4d3dd57 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2010-06-30 H.J. Lu <hongjiu.lu@intel.com> + + PR target/44721 + * config/i386/i386.md (peephole2 for arithmetic ops with memory): + Fix last commit. + 2010-06-30 Nick Clifton <nickc@redhat.com> * config/rx/rx-modes.def: New file. diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index 7003f52..c450c38 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -17558,7 +17558,7 @@ ;; leal (%edx,%eax,4), %eax (define_peephole2 - [(match_scratch:SI 5 "r") + [(match_scratch:P 5 "r") (parallel [(set (match_operand 0 "register_operand" "") (ashift (match_operand 1 "register_operand" "") (match_operand 2 "const_int_operand" ""))) @@ -17587,9 +17587,12 @@ operands[1] = gen_rtx_PLUS (Pmode, base, gen_rtx_MULT (Pmode, index, GEN_INT (scale))); - if (mode != Pmode) - operands[1] = gen_rtx_SUBREG (mode, operands[1], 0); operands[5] = base; + if (mode != Pmode) + { + operands[1] = gen_rtx_SUBREG (mode, operands[1], 0); + operands[5] = gen_rtx_SUBREG (mode, operands[5], 0); + } operands[0] = dest; }) |