From aeffb4b5cd75b90e0bd287a5830a7ead71ba3d03 Mon Sep 17 00:00:00 2001 From: Bernd Schmidt Date: Thu, 6 Sep 2007 23:24:19 +0000 Subject: [PATCH] bfin.h (PREFERRED_RELOAD_CLASS): Don't reload autoinc addresses into I registers. * config/bfin/bfin.h (PREFERRED_RELOAD_CLASS): Don't reload autoinc addresses into I registers. From-SVN: r128212 --- gcc/ChangeLog | 5 +++++ gcc/config/bfin/bfin.h | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8ac3e420de9..7cc1ad95c9d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2007-09-07 Bernd Schmidt + + * config/bfin/bfin.h (PREFERRED_RELOAD_CLASS): Don't reload autoinc + addresses into I registers. + 2007-09-06 Jan Hubicka Andreas Tobler diff --git a/gcc/config/bfin/bfin.h b/gcc/config/bfin/bfin.h index fa6eed349c2..93c77c19e00 100644 --- a/gcc/config/bfin/bfin.h +++ b/gcc/config/bfin/bfin.h @@ -721,7 +721,10 @@ enum reg_class class to use when it is necessary to copy value X into a register in class CLASS. The value is a register class; perhaps CLASS, or perhaps another, smaller class. */ -#define PREFERRED_RELOAD_CLASS(X, CLASS) (CLASS) +#define PREFERRED_RELOAD_CLASS(X, CLASS) \ + (GET_CODE (X) == POST_INC \ + || GET_CODE (X) == POST_DEC \ + || GET_CODE (X) == PRE_DEC ? PREGS : (CLASS)) /* Function Calling Conventions. */ -- 2.30.2