(HARD_REGNO_MODE_OK): Multi-word objects cannot go into MQ, LR, or CTR.
authorRichard Kenner <kenner@gcc.gnu.org>
Fri, 22 Oct 1993 01:55:58 +0000 (21:55 -0400)
committerRichard Kenner <kenner@gcc.gnu.org>
Fri, 22 Oct 1993 01:55:58 +0000 (21:55 -0400)
From-SVN: r5867

gcc/config/rs6000/rs6000.h

index 6e1358e..77fb7d2 100644 (file)
@@ -404,7 +404,8 @@ extern char *rs6000_cpu_string;
 #define HARD_REGNO_MODE_OK(REGNO, MODE) \
   (FP_REGNO_P (REGNO) ? GET_MODE_CLASS (MODE) == MODE_FLOAT    \
    : CR_REGNO_P (REGNO) ? GET_MODE_CLASS (MODE) == MODE_CC     \
-   : ! INT_REGNO_P (REGNO) ? GET_MODE_CLASS (MODE) == MODE_INT \
+   : ! INT_REGNO_P (REGNO) ? (GET_MODE_CLASS (MODE) == MODE_INT  \
+                             && GET_MODE_SIZE (MODE) <= UNITS_PER_WORD)  \
    : 1)
 
 /* Value is 1 if it is a good idea to tie two pseudo registers