rs6000.h (LEGITIMATE_CONSTANT_P): Adjust for vectors.
authorAldy Hernandez <aldyh@gcc.gnu.org>
Fri, 20 Jun 2003 20:16:24 +0000 (20:16 +0000)
committerAldy Hernandez <aldyh@gcc.gnu.org>
Fri, 20 Jun 2003 20:16:24 +0000 (20:16 +0000)
2003-06-20  Aldy Hernandez  <aldyh@redhat.com>

PR/11092
* config/rs6000/rs6000.h (LEGITIMATE_CONSTANT_P): Adjust for
vectors.

From-SVN: r68284

gcc/config/rs6000/rs6000.h

index 991e88895470211896cdd863a90ae96b67192f3a..d27d42cb6d67e7455d44f2af1bc11324f6739c5f 100644 (file)
@@ -2046,9 +2046,12 @@ typedef struct rs6000_args
    acceptable.  */
 
 #define LEGITIMATE_CONSTANT_P(X)                               \
-  ((GET_CODE (X) != CONST_DOUBLE || GET_MODE (X) == VOIDmode   \
+  (((GET_CODE (X) != CONST_DOUBLE                              \
+     && GET_CODE (X) != CONST_VECTOR)                          \
+    || GET_MODE (X) == VOIDmode                                        \
     || (TARGET_POWERPC64 && GET_MODE (X) == DImode)            \
-    || easy_fp_constant (X, GET_MODE (X)))                     \
+    || easy_fp_constant (X, GET_MODE (X))                      \
+    || easy_vector_constant (X, GET_MODE (X)))                 \
    && !rs6000_tls_referenced_p (X))
 
 /* The macros REG_OK_FOR..._P assume that the arg is a REG rtx