re PR target/15927 (THUMB -O2: strength-reduced iteration variable ends up off by 1)
authorRichard Earnshaw <rearnsha@arm.com>
Wed, 23 Jun 2004 10:39:50 +0000 (10:39 +0000)
committerRichard Earnshaw <rearnsha@gcc.gnu.org>
Wed, 23 Jun 2004 10:39:50 +0000 (10:39 +0000)
PR target/15927
* arm.h (THUMB_SECONDARY_OUTPUT_RELOAD_CLASS): Don't need a secondary
reload if CLASS is BASE_REGS.

From-SVN: r83548

gcc/ChangeLog
gcc/config/arm/arm.h

index 8bcc51ea9cb35c6cf1aba62f2b5a25bc5791891f..534cfae2cae9d6cdf8509beb38ffd8a35214716e 100644 (file)
@@ -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
index 21a5d60d8c1493b66f10284f0e8548d2995d38bf..736934b35a49a5b53ede960fc15d6dd9f8f6072e 100644 (file)
@@ -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))                                                     \