diff options
author | Richard Earnshaw <rearnsha@arm.com> | 2004-06-23 10:39:50 +0000 |
---|---|---|
committer | Richard Earnshaw <rearnsha@gcc.gnu.org> | 2004-06-23 10:39:50 +0000 |
commit | 97358092a486fda247a0e3bcd72cb2a1ab6f45d0 (patch) | |
tree | ca9e926d7ce307ef13d78ece0fb0fa473380de14 | |
parent | 1c020272cec98dfc13206f9247da9adac0ab0ad8 (diff) | |
download | gcc-97358092a486fda247a0e3bcd72cb2a1ab6f45d0.zip gcc-97358092a486fda247a0e3bcd72cb2a1ab6f45d0.tar.gz gcc-97358092a486fda247a0e3bcd72cb2a1ab6f45d0.tar.bz2 |
re PR target/15927 (THUMB -O2: strength-reduced iteration variable ends up off by 1)
PR target/15927
* arm.h (THUMB_SECONDARY_OUTPUT_RELOAD_CLASS): Don't need a secondary
reload if CLASS is BASE_REGS.
From-SVN: r83548
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/arm/arm.h | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8bcc51e..534cfae 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2004-06-23 Richard Earnshaw <rearnsha@arm.com> + + PR target/15927 + * arm.h (THUMB_SECONDARY_OUTPUT_RELOAD_CLASS): Don't need a secondary + reload if CLASS is BASE_REGS. + 2004-06-23 Richard Sandiford <rsandifo@redhat.com> * gengtype-yacc.y (option): Avoid use of non-constant struct diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h index 21a5d60..736934b 100644 --- a/gcc/config/arm/arm.h +++ b/gcc/config/arm/arm.h @@ -1322,7 +1322,7 @@ enum reg_class : NO_REGS) #define THUMB_SECONDARY_OUTPUT_RELOAD_CLASS(CLASS, MODE, X) \ - ((CLASS) != LO_REGS \ + ((CLASS) != LO_REGS && (CLASS) != BASE_REGS \ ? ((true_regnum (X) == -1 ? LO_REGS \ : (true_regnum (X) + HARD_REGNO_NREGS (0, MODE) > 8) ? LO_REGS \ : NO_REGS)) \ |