OSDN Git Service

Fix for proprietary testcase that fails at -m5-compact
authorwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 8 Mar 2003 00:21:23 +0000 (00:21 +0000)
committerwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 8 Mar 2003 00:21:23 +0000 (00:21 +0000)
����������������* config/sh/sh.h (HARD_REGNO_NREGS): Round up the XD register count.

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

gcc/ChangeLog
gcc/config/sh/sh.h

index 0802120..34e2ada 100644 (file)
@@ -1,3 +1,7 @@
+2003-03-07  James E Wilson  <wilson@tuliptree.org>
+
+        * config/sh/sh.h (HARD_REGNO_NREGS): Round up the XD register count.
+
 2003-03-07  Geoffrey Keating  <geoffk@apple.com>
 
        * objc/lang-specs.h (objective-c-header): Use .gch not .pch;
index 49503d1..c2f3160 100644 (file)
@@ -937,10 +937,10 @@ extern char sh_additional_register_names[ADDREGNAMES_SIZE] \
 
 #define HARD_REGNO_NREGS(REGNO, MODE) \
    (XD_REGISTER_P (REGNO) \
-    ? (GET_MODE_SIZE (MODE) / (2 * UNITS_PER_WORD)) \
+    ? ((GET_MODE_SIZE (MODE) + (2*UNITS_PER_WORD - 1)) / (2*UNITS_PER_WORD)) \
     : (TARGET_SHMEDIA && FP_REGISTER_P (REGNO)) \
     ? ((GET_MODE_SIZE (MODE) + UNITS_PER_WORD/2 - 1) / (UNITS_PER_WORD/2)) \
-    : ((GET_MODE_SIZE (MODE) + UNITS_PER_WORD - 1) / UNITS_PER_WORD)) \
+    : ((GET_MODE_SIZE (MODE) + UNITS_PER_WORD - 1) / UNITS_PER_WORD))
 
 /* Value is 1 if hard register REGNO can hold a value of machine-mode MODE.
    We can allow any mode in any general register.  The special registers