From: Aldy Hernandez Date: Thu, 2 May 2002 02:03:14 +0000 (+0000) Subject: altivec-8.c: New. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0d6d6892299f322c30f4e3df9ac9ec6f8a07f415;p=gcc.git altivec-8.c: New. 2002-05-02 Aldy Hernandez * gcc.dg/altivec-8.c: New. * config/rs6000/rs6000.c (rs6000_legitimate_address): Disallow PRE_INC and PRE_DEC for altivec modes. From-SVN: r53031 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2eff31d7dcf..59a01f251b0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2002-05-02 Aldy Hernandez + + * gcc.dg/altivec-8.c: New. + + * config/rs6000/rs6000.c (rs6000_legitimate_address): Disallow + PRE_INC and PRE_DEC for altivec modes. + 2002-05-01 Jeff Law * pa.h (EXTRA_CONSTRAINT): Don't accept PIC addresses for the diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 235090005a5..6a1c5a65865 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -2048,6 +2048,7 @@ rs6000_legitimate_address (mode, x, reg_ok_strict) if (LEGITIMATE_INDIRECT_ADDRESS_P (x, reg_ok_strict)) return 1; if ((GET_CODE (x) == PRE_INC || GET_CODE (x) == PRE_DEC) + && !ALTIVEC_VECTOR_MODE (mode) && TARGET_UPDATE && LEGITIMATE_INDIRECT_ADDRESS_P (XEXP (x, 0), reg_ok_strict)) return 1; diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 3e14731d41c..e12dc075440 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2002-05-02 Aldy Hernandez + + * gcc.dg/altivec-8.c: New. + 2002-05-01 Aldy Hernandez * gcc.dg/altivec-7.c: New. diff --git a/gcc/testsuite/gcc.dg/altivec-8.c b/gcc/testsuite/gcc.dg/altivec-8.c new file mode 100644 index 00000000000..2d6803a47ee --- /dev/null +++ b/gcc/testsuite/gcc.dg/altivec-8.c @@ -0,0 +1,18 @@ +/* Origin: Aldy Hernandez */ +/* Test rs6000_legitimate_address. PRE_INC should be invalid. */ + +/* { dg-do compile { target powerpc-*-* } } */ +/* { dg-options "-maltivec" } */ + +#include + +vector signed short *hannah; + +int +main () +{ + *hannah++ = __builtin_altivec_vspltish (5); + *hannah++ = __builtin_altivec_vspltish (6); + + return 0; +}