From 97358092a486fda247a0e3bcd72cb2a1ab6f45d0 Mon Sep 17 00:00:00 2001 From: Richard Earnshaw Date: Wed, 23 Jun 2004 10:39:50 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 6 ++++++ gcc/config/arm/arm.h | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) 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)) \ -- 2.30.2