From: Richard Earnshaw Date: Wed, 23 Jun 2004 10:39:50 +0000 (+0000) Subject: re PR target/15927 (THUMB -O2: strength-reduced iteration variable ends up off by 1) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=97358092a486fda247a0e3bcd72cb2a1ab6f45d0;p=gcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8bcc51ea9cb..534cfae2cae 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2004-06-23 Richard Earnshaw + + 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 * 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 21a5d60d8c1..736934b35a4 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)) \