diff options
author | Bernd Schmidt <bernd.schmidt@analog.com> | 2007-09-06 23:24:19 +0000 |
---|---|---|
committer | Bernd Schmidt <bernds@gcc.gnu.org> | 2007-09-06 23:24:19 +0000 |
commit | aeffb4b5cd75b90e0bd287a5830a7ead71ba3d03 (patch) | |
tree | bd53957f79c9cb91102694afe21e88c40b66683b /gcc | |
parent | ae582cbfa4e5d1467ab2f59bdb40b2aec807b1e2 (diff) | |
download | gcc-aeffb4b5cd75b90e0bd287a5830a7ead71ba3d03.zip gcc-aeffb4b5cd75b90e0bd287a5830a7ead71ba3d03.tar.gz gcc-aeffb4b5cd75b90e0bd287a5830a7ead71ba3d03.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/bfin/bfin.h | 5 |
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8ac3e42..7cc1ad9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2007-09-07 Bernd Schmidt <bernd.schmidt@analog.com> + + * config/bfin/bfin.h (PREFERRED_RELOAD_CLASS): Don't reload autoinc + addresses into I registers. + 2007-09-06 Jan Hubicka <jh@suse.cz> Andreas Tobler <a.tobler@schweiz.org> diff --git a/gcc/config/bfin/bfin.h b/gcc/config/bfin/bfin.h index fa6eed3..93c77c1 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. */ |