OSDN Git Service

* config/m32c/m32c.c (m32c_secondary_reload_class): Allow PSI
authordj <dj@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 28 Jul 2011 22:07:39 +0000 (22:07 +0000)
committerdj <dj@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 28 Jul 2011 22:07:39 +0000 (22:07 +0000)
registers to be reloaded in HI classes when the target is HI.

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

gcc/ChangeLog
gcc/config/m32c/m32c.c

index 1874a3b..3711288 100644 (file)
@@ -1,3 +1,8 @@
+2011-07-28  DJ Delorie  <dj@redhat.com>
+
+       * config/m32c/m32c.c (m32c_secondary_reload_class): Allow PSI
+       registers to be reloaded in HI classes when the target is HI.
+
 2011-07-28  Sebastian Pop  <sebastian.pop@amd.com>
 
        * graphite-clast-to-gimple.c: Replace v1, v2, lb, ub with
index 7c359c9..4ae7228 100644 (file)
@@ -845,7 +845,7 @@ m32c_secondary_reload_class (int rclass, enum machine_mode mode, rtx x)
   if (reg_classes_intersect_p (rclass, CR_REGS)
       && GET_CODE (x) == REG
       && REGNO (x) >= SB_REGNO && REGNO (x) <= SP_REGNO)
-    return TARGET_A16 ? HI_REGS : A_REGS;
+    return (TARGET_A16 || mode == HImode) ? HI_REGS : A_REGS;
   return NO_REGS;
 }