OSDN Git Service

* config/bfin/bfin.h (PREFERRED_RELOAD_CLASS): Don't reload autoinc
authorbernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 6 Sep 2007 23:24:19 +0000 (23:24 +0000)
committerbernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 6 Sep 2007 23:24:19 +0000 (23:24 +0000)
addresses into I registers.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128212 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/bfin/bfin.h

index 8ac3e42..7cc1ad9 100644 (file)
@@ -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>
 
index fa6eed3..93c77c1 100644 (file)
@@ -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. */