From: Jakub Bogusz Date: Sun, 18 Jan 2004 14:49:43 +0000 (+0000) Subject: - patch from gcc-3_3-branch (taken from bugzilla) X-Git-Tag: auto/ac/gcc-3_3_2-3~1 X-Git-Url: http://git.pld-linux.org/?a=commitdiff_plain;h=2645c5beb289817904f07ff18b4fc2c9d8193985;hp=bcbf5e4e415994103b44d09344a1cce6446ce838;p=packages%2Fgcc.git - patch from gcc-3_3-branch (taken from bugzilla) Changed files: gcc-pr11793.patch -> 1.1 --- diff --git a/gcc-pr11793.patch b/gcc-pr11793.patch new file mode 100644 index 0000000..09302bb --- /dev/null +++ b/gcc-pr11793.patch @@ -0,0 +1,24 @@ +2004-01-16 Segher Boessenkool + + PR target/11793 + * config/rs6000/rs6000.h (LEGITIMATE_CONSTANT_P): Handle + vectors. + +diff -u -r1.237.2.8 -r1.237.2.9 +--- gcc/gcc/config/rs6000/rs6000.h 2003/06/18 06:21:37 1.237.2.8 ++++ gcc/gcc/config/rs6000/rs6000.h 2004/01/16 15:05:37 1.237.2.9 +@@ -1993,9 +1993,11 @@ + acceptable. */ + + #define LEGITIMATE_CONSTANT_P(X) \ +- (GET_CODE (X) != CONST_DOUBLE || GET_MODE (X) == VOIDmode \ +- || (TARGET_POWERPC64 && GET_MODE (X) == DImode) \ +- || easy_fp_constant (X, GET_MODE (X))) ++ ((GET_CODE (X) != CONST_VECTOR \ ++ || zero_constant (X, GET_MODE (X))) \ ++ && (GET_CODE (X) != CONST_DOUBLE || GET_MODE (X) == VOIDmode \ ++ || (TARGET_POWERPC64 && GET_MODE (X) == DImode) \ ++ || easy_fp_constant (X, GET_MODE (X)))) + + /* The macros REG_OK_FOR..._P assume that the arg is a REG rtx + and check its validity for a certain class.