gcc/
authorbernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 31 May 2008 10:09:51 +0000 (10:09 +0000)
committerbernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 31 May 2008 10:09:51 +0000 (10:09 +0000)
* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
__WORKAROUND_RETS when appropriate.

gcc/testsuite/
* gcc.target/bfin/mcpu-default.c: Adjust for recent changes: default
CPU has all workarounds, and no longer explicitly sets bf532 as CPU
type.

* gcc.target/bfin/mcpu-bf531.c: Adjust for WORKAROUND_RETS.
* gcc.target/bfin/mcpu-bf532.c: Likewise.
* gcc.target/bfin/mcpu-bf533.c: Likewise.
* gcc.target/bfin/mcpu-bf534.c: Likewise.
* gcc.target/bfin/mcpu-bf536.c: Likewise.
* gcc.target/bfin/mcpu-bf537.c: Likewise.
* gcc.target/bfin/mcpu-bf548.c: Likewise.
* gcc.target/bfin/mcpu-bf549.c: Likewise.
* gcc.target/bfin/mcpu-bf561.c: Likewise.
* gcc.target/bfin/mcpu-bf523.c: Likewise.
* gcc.target/bfin/mcpu-bf524.c: Likewise.
* gcc.target/bfin/mcpu-bf526.c: Likewise.
* gcc.target/bfin/mcpu-bf522.c: Likewise.
* gcc.target/bfin/mcpu-bf525.c: Likewise.
* gcc.target/bfin/mcpu-bf527.c: Likewise.
* gcc.target/bfin/mcpu-bf538.c: Likewise.
* gcc.target/bfin/mcpu-bf539.c: Likewise.
* gcc.target/bfin/mcpu-bf542.c: Likewise.
* gcc.target/bfin/mcpu-bf544.c: Likewise.
* gcc.target/bfin/mcpu-default.c: Likewise.
* gcc.target/bfin/workarounds-any.c: Likewise.
* gcc.target/bfin/workarounds-none.c: Likewise.
* gcc.target/bfin/workarounds-1.c: Likewise.
* gcc.target/bfin/workarounds-2.c: Likewise.
* gcc.target/bfin/workarounds-3.c: Likewise.
* gcc.target/bfin/workarounds-4.c: Likewise.

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

30 files changed:
gcc/ChangeLog
gcc/config/bfin/bfin.h
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/bfin/mcpu-bf522.c
gcc/testsuite/gcc.target/bfin/mcpu-bf523.c
gcc/testsuite/gcc.target/bfin/mcpu-bf524.c
gcc/testsuite/gcc.target/bfin/mcpu-bf525.c
gcc/testsuite/gcc.target/bfin/mcpu-bf526.c
gcc/testsuite/gcc.target/bfin/mcpu-bf527.c
gcc/testsuite/gcc.target/bfin/mcpu-bf531.c
gcc/testsuite/gcc.target/bfin/mcpu-bf532.c
gcc/testsuite/gcc.target/bfin/mcpu-bf533.c
gcc/testsuite/gcc.target/bfin/mcpu-bf534.c
gcc/testsuite/gcc.target/bfin/mcpu-bf536.c
gcc/testsuite/gcc.target/bfin/mcpu-bf537.c
gcc/testsuite/gcc.target/bfin/mcpu-bf538.c
gcc/testsuite/gcc.target/bfin/mcpu-bf539.c
gcc/testsuite/gcc.target/bfin/mcpu-bf542.c
gcc/testsuite/gcc.target/bfin/mcpu-bf544.c
gcc/testsuite/gcc.target/bfin/mcpu-bf547.c
gcc/testsuite/gcc.target/bfin/mcpu-bf548.c
gcc/testsuite/gcc.target/bfin/mcpu-bf549.c
gcc/testsuite/gcc.target/bfin/mcpu-bf561.c
gcc/testsuite/gcc.target/bfin/mcpu-default.c
gcc/testsuite/gcc.target/bfin/workarounds-1.c
gcc/testsuite/gcc.target/bfin/workarounds-2.c
gcc/testsuite/gcc.target/bfin/workarounds-3.c
gcc/testsuite/gcc.target/bfin/workarounds-4.c
gcc/testsuite/gcc.target/bfin/workarounds-any.c
gcc/testsuite/gcc.target/bfin/workarounds-none.c

index 6177e80..cd4d66c 100644 (file)
@@ -1,3 +1,8 @@
+2008-05-31  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
+       __WORKAROUND_RETS when appropriate.
+
 2008-05-31  Uros Bizjak  <ubizjak@gmail.com>
 
        * config/i386/i386.md (*fop_<mode>_comm_mixed): Macroize from
index 042528a..8efcb5e 100644 (file)
@@ -133,6 +133,8 @@ extern int target_flags;
        builtin_define ("__WORKAROUND_SPECULATIVE_LOADS");              \
       if (ENABLE_WA_SPECULATIVE_SYNCS)                                 \
        builtin_define ("__WORKAROUND_SPECULATIVE_SYNCS");              \
+      if (ENABLE_WA_RETS)                                              \
+       builtin_define ("__WORKAROUND_RETS");           \
                                                \
       if (TARGET_FDPIC)                                \
        {                                       \
index 6a5083a..4a3d5ca 100644 (file)
@@ -1,3 +1,36 @@
+2008-05-30  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * gcc.target/bfin/mcpu-default.c: Adjust for recent changes: default
+       CPU has all workarounds, and no longer explicitly sets bf532 as CPU
+       type.
+
+       * gcc.target/bfin/mcpu-bf531.c: Adjust for WORKAROUND_RETS.
+       * gcc.target/bfin/mcpu-bf532.c: Likewise.
+       * gcc.target/bfin/mcpu-bf533.c: Likewise.
+       * gcc.target/bfin/mcpu-bf534.c: Likewise.
+       * gcc.target/bfin/mcpu-bf536.c: Likewise.
+       * gcc.target/bfin/mcpu-bf537.c: Likewise.
+       * gcc.target/bfin/mcpu-bf548.c: Likewise.
+       * gcc.target/bfin/mcpu-bf549.c: Likewise.
+       * gcc.target/bfin/mcpu-bf561.c: Likewise.
+       * gcc.target/bfin/mcpu-bf523.c: Likewise.
+       * gcc.target/bfin/mcpu-bf524.c: Likewise.
+       * gcc.target/bfin/mcpu-bf526.c: Likewise.
+       * gcc.target/bfin/mcpu-bf522.c: Likewise.
+       * gcc.target/bfin/mcpu-bf525.c: Likewise.
+       * gcc.target/bfin/mcpu-bf527.c: Likewise.
+       * gcc.target/bfin/mcpu-bf538.c: Likewise.
+       * gcc.target/bfin/mcpu-bf539.c: Likewise.
+       * gcc.target/bfin/mcpu-bf542.c: Likewise.
+       * gcc.target/bfin/mcpu-bf544.c: Likewise.
+       * gcc.target/bfin/mcpu-default.c: Likewise.
+       * gcc.target/bfin/workarounds-any.c: Likewise.
+       * gcc.target/bfin/workarounds-none.c: Likewise.
+       * gcc.target/bfin/workarounds-1.c: Likewise.
+       * gcc.target/bfin/workarounds-2.c: Likewise.
+       * gcc.target/bfin/workarounds-3.c: Likewise.
+       * gcc.target/bfin/workarounds-4.c: Likewise.
+
 2008-05-30  Tom Tromey  <tromey@redhat.com>
 
        PR preprocessor/36320:
index 5674cab..205e37f 100644 (file)
 #error "__WORKAROUNDS_ENABLED is not defined"
 #endif
 
+#ifndef __WORKAROUND_RETS
+#error "__WORKAROUND_RETS is not defined"
+#endif
+
 #ifndef __WORKAROUND_SPECULATIVE_LOADS
 #error "__WORKAROUND_SPECULATIVE_LOADS is not defined"
 #endif
index 09129e9..eb21e67 100644 (file)
 #error "__WORKAROUNDS_ENABLED is not defined"
 #endif
 
+#ifndef __WORKAROUND_RETS
+#error "__WORKAROUND_RETS is not defined"
+#endif
+
 #ifndef __WORKAROUND_SPECULATIVE_LOADS
 #error "__WORKAROUND_SPECULATIVE_LOADS is not defined"
 #endif
index 6a58061..7be6355 100644 (file)
 #error "__WORKAROUNDS_ENABLED is not defined"
 #endif
 
+#ifndef __WORKAROUND_RETS
+#error "__WORKAROUND_RETS is not defined"
+#endif
+
 #ifndef __WORKAROUND_SPECULATIVE_LOADS
 #error "__WORKAROUND_SPECULATIVE_LOADS is not defined"
 #endif
index 1be5366..21dc2be 100644 (file)
 #error "__WORKAROUNDS_ENABLED is not defined"
 #endif
 
+#ifndef __WORKAROUND_RETS
+#error "__WORKAROUND_RETS is not defined"
+#endif
+
 #ifndef __WORKAROUND_SPECULATIVE_LOADS
 #error "__WORKAROUND_SPECULATIVE_LOADS is not defined"
 #endif
index bb84afe..bd1197e 100644 (file)
 #error "__WORKAROUNDS_ENABLED is not defined"
 #endif
 
+#ifndef __WORKAROUND_RETS
+#error "__WORKAROUND_RETS is not defined"
+#endif
+
 #ifndef __WORKAROUND_SPECULATIVE_LOADS
 #error "__WORKAROUND_SPECULATIVE_LOADS is not defined"
 #endif
index 50edb81..d419dd7 100644 (file)
 #error "__WORKAROUNDS_ENABLED is not defined"
 #endif
 
+#ifndef __WORKAROUND_RETS
+#error "__WORKAROUND_RETS is not defined"
+#endif
+
 #ifndef __WORKAROUND_SPECULATIVE_LOADS
 #error "__WORKAROUND_SPECULATIVE_LOADS is not defined"
 #endif
index efacc5a..9adf99e 100644 (file)
 #error "__WORKAROUNDS_ENABLED is not defined"
 #endif
 
+#ifndef __WORKAROUND_RETS
+#error "__WORKAROUND_RETS is not defined"
+#endif
+
 #ifndef __WORKAROUND_SPECULATIVE_LOADS
 #error "__WORKAROUND_SPECULATIVE_LOADS is not defined"
 #endif
index 85cad2e..002535a 100644 (file)
 #error "__WORKAROUNDS_ENABLED is not defined"
 #endif
 
+#ifndef __WORKAROUND_RETS
+#error "__WORKAROUND_RETS is not defined"
+#endif
+
 #ifndef __WORKAROUND_SPECULATIVE_LOADS
 #error "__WORKAROUND_SPECULATIVE_LOADS is not defined"
 #endif
index 9c0478f..a7cf0c6 100644 (file)
 #error "__WORKAROUNDS_ENABLED is not defined"
 #endif
 
+#ifndef __WORKAROUND_RETS
+#error "__WORKAROUND_RETS is not defined"
+#endif
+
 #ifndef __WORKAROUND_SPECULATIVE_LOADS
 #error "__WORKAROUND_SPECULATIVE_LOADS is not defined"
 #endif
index 89c087e..cd35459 100644 (file)
 #error "__WORKAROUNDS_ENABLED is not defined"
 #endif
 
+#ifndef __WORKAROUND_RETS
+#error "__WORKAROUND_RETS is not defined"
+#endif
+
 #ifndef __WORKAROUND_SPECULATIVE_LOADS
 #error "__WORKAROUND_SPECULATIVE_LOADS is not defined"
 #endif
index 034296b..0ac9ebf 100644 (file)
 #error "__WORKAROUNDS_ENABLED is not defined"
 #endif
 
+#ifndef __WORKAROUND_RETS
+#error "__WORKAROUND_RETS is not defined"
+#endif
+
 #ifndef __WORKAROUND_SPECULATIVE_LOADS
 #error "__WORKAROUND_SPECULATIVE_LOADS is not defined"
 #endif
index 9f3d605..66a87c0 100644 (file)
 #error "__WORKAROUNDS_ENABLED is not defined"
 #endif
 
+#ifndef __WORKAROUND_RETS
+#error "__WORKAROUND_RETS is not defined"
+#endif
+
 #ifndef __WORKAROUND_SPECULATIVE_LOADS
 #error "__WORKAROUND_SPECULATIVE_LOADS is not defined"
 #endif
index 57c9be6..4baac1a 100644 (file)
 #error "__WORKAROUNDS_ENABLED is not defined"
 #endif
 
+#ifndef __WORKAROUND_RETS
+#error "__WORKAROUND_RETS is not defined"
+#endif
+
 #ifndef __WORKAROUND_SPECULATIVE_LOADS
 #error "__WORKAROUND_SPECULATIVE_LOADS is not defined"
 #endif
index 602bd3a..756c14d 100644 (file)
 #error "__WORKAROUNDS_ENABLED is not defined"
 #endif
 
+#ifndef __WORKAROUND_RETS
+#error "__WORKAROUND_RETS is not defined"
+#endif
+
 #ifndef __WORKAROUND_SPECULATIVE_LOADS
 #error "__WORKAROUND_SPECULATIVE_LOADS is not defined"
 #endif
index 9ea90c3..f36b163 100644 (file)
 #error "__WORKAROUNDS_ENABLED is not defined"
 #endif
 
+#ifndef __WORKAROUND_RETS
+#error "__WORKAROUND_RETS is not defined"
+#endif
+
 #ifndef __WORKAROUND_SPECULATIVE_LOADS
 #error "__WORKAROUND_SPECULATIVE_LOADS is not defined"
 #endif
index e76c7cb..d1a0045 100644 (file)
 #error "__WORKAROUNDS_ENABLED is not defined"
 #endif
 
+#ifndef __WORKAROUND_RETS
+#error "__WORKAROUND_RETS is not defined"
+#endif
+
 #ifndef __WORKAROUND_SPECULATIVE_LOADS
 #error "__WORKAROUND_SPECULATIVE_LOADS is not defined"
 #endif
index 9418fd8..cdf1995 100644 (file)
 #error "__WORKAROUNDS_ENABLED is not defined"
 #endif
 
+#ifndef __WORKAROUND_RETS
+#error "__WORKAROUND_RETS is not defined"
+#endif
+
 #ifndef __WORKAROUND_SPECULATIVE_LOADS
 #error "__WORKAROUND_SPECULATIVE_LOADS is not defined"
 #endif
index f9ed8b3..2689eb2 100644 (file)
 #error "__WORKAROUNDS_ENABLED is not defined"
 #endif
 
+#ifndef __WORKAROUND_RETS
+#error "__WORKAROUND_RETS is not defined"
+#endif
+
 #ifndef __WORKAROUND_SPECULATIVE_LOADS
 #error "__WORKAROUND_SPECULATIVE_LOADS is not defined"
 #endif
index 68ad917..01e068a 100644 (file)
 #error "__WORKAROUNDS_ENABLED is not defined"
 #endif
 
+#ifndef __WORKAROUND_RETS
+#error "__WORKAROUND_RETS is not defined"
+#endif
+
 #ifndef __WORKAROUND_SPECULATIVE_LOADS
 #error "__WORKAROUND_SPECULATIVE_LOADS is not defined"
 #endif
index 3eb5d4b..e2eab3b 100644 (file)
 #error "__SILICON_REVISION__ is not 0x0005"
 #endif
 
-#ifdef __WORKAROUNDS_ENABLED
-#error "__WORKAROUNDS_ENABLED is defined"
+#ifndef __WORKAROUNDS_ENABLED
+#error "__WORKAROUNDS_ENABLED is not defined"
+#endif
+
+#ifndef __WORKAROUND_RETS
+#error "__WORKAROUND_RETS is not defined"
 #endif
 
 #ifdef __WORKAROUND_SPECULATIVE_LOADS
index 5362035..9109701 100644 (file)
@@ -2,22 +2,92 @@
 /* { dg-do preprocess } */
 /* { dg-bfin-options "" } */
 
-#ifndef __ADSPBF532__
-#error "__ADSPBF532__ is not defined"
+#ifdef __ADSPBF522__
+#error "__ADSPBF522__ is defined"
 #endif
+#ifdef __ADSPBF523__
+#error "__ADSPBF523__ is defined"
+#endif
+#ifdef __ADSPBF524__
+#error "__ADSPBF524__ is defined"
+#endif
+#ifdef __ADSPBF525__
+#error "__ADSPBF525__ is defined"
+#endif
+#ifdef __ADSPBF526__
+#error "__ADSPBF526__ is defined"
+#endif
+#ifdef __ADSPBF527__
+#error "__ADSPBF527__ is defined"
+#endif
+
 
-#if __SILICON_REVISION__ != 0x0005
-#error "__SILICON_REVISION__ is not 0x0005"
+#ifdef __ADSPBF531__
+#error "__ADSPBF531__ is defined"
+#endif
+#ifdef __ADSPBF532__
+#error "__ADSPBF532__ is defined"
+#endif
+#ifdef __ADSPBF533__
+#error "__ADSPBF533__ is defined"
+#endif
+#ifdef __ADSPBF534__
+#error "__ADSPBF534__ is defined"
+#endif
+#ifdef __ADSPBF536__
+#error "__ADSPBF536__ is defined"
+#endif
+#ifdef __ADSPBF537__
+#error "__ADSPBF537__ is defined"
+#endif
+#ifdef __ADSPBF538__
+#error "__ADSPBF538__ is defined"
+#endif
+#ifdef __ADSPBF539__
+#error "__ADSPBF539__ is defined"
+#endif
+
+#ifdef __ADSPBF542__
+#error "__ADSPBF542__ is defined"
+#endif
+#ifdef __ADSPBF544__
+#error "__ADSPBF544__ is defined"
+#endif
+#ifdef __ADSPBF547__
+#error "__ADSPBF547__ is defined"
+#endif
+#ifdef __ADSPBF548__
+#error "__ADSPBF548__ is defined"
+#endif
+#ifdef __ADSPBF549__
+#error "__ADSPBF548__ is defined"
+#endif
+
+#ifdef __ADSPBF561__
+#error "__ADSPBF561__ is defined"
+#endif
+
+
+#ifndef __SILICON_REVISION__
+#error "__SILICON_REVISION__ is not defined"
+#else
+#if __SILICON_REVISION__ != 0xffff
+#error "__SILICON_REVISION__ is not 0xFFFF"
+#endif
 #endif
 
 #ifndef __WORKAROUNDS_ENABLED
 #error "__WORKAROUNDS_ENABLED is not defined"
 #endif
 
+#ifndef __WORKAROUND_RETS
+#error "__WORKAROUND_RETS is not defined"
+#endif
+
 #ifndef __WORKAROUND_SPECULATIVE_LOADS
 #error "__WORKAROUND_SPECULATIVE_LOADS is not defined"
 #endif
 
-#ifdef __WORKAROUND_SPECULATIVE_SYNCS
-#error "__WORKAROUND_SPECULATIVE_SYNCS is defined"
+#ifndef __WORKAROUND_SPECULATIVE_SYNCS
+#error "__WORKAROUND_SPECULATIVE_SYNCS is not defined"
 #endif
index cf9a877..53ca1d7 100644 (file)
 #error "__WORKAROUNDS_ENABLED is not defined"
 #endif
 
+#ifndef __WORKAROUND_RETS
+#error "__WORKAROUND_RETS is not defined"
+#endif
+
 #ifndef __WORKAROUND_SPECULATIVE_LOADS
 #error "__WORKAROUND_SPECULATIVE_LOADS is not defined"
 #endif
index b00a688..c639a20 100644 (file)
 #error "__SILICON_REVISION__ is not 0x0003"
 #endif
 
-#ifdef __WORKAROUNDS_ENABLED
-#error "__WORKAROUNDS_ENABLED is defined"
+#ifndef __WORKAROUNDS_ENABLED
+#error "__WORKAROUNDS_ENABLED is not defined"
+#endif
+
+#ifndef __WORKAROUND_RETS
+#error "__WORKAROUND_RETS is not defined"
 #endif
 
 #ifdef __WORKAROUND_SPECULATIVE_LOADS
index d9781ba..3209f23 100644 (file)
 #error "__WORKAROUNDS_ENABLED is defined"
 #endif
 
+#ifdef __WORKAROUND_RETS
+#error "__WORKAROUND_RETS is defined"
+#endif
+
 #ifdef __WORKAROUND_SPECULATIVE_LOADS
 #error "__WORKAROUND_SPECULATIVE_LOADS is defined"
 #endif
index 50cec9c..62bd382 100644 (file)
 #error "__WORKAROUNDS_ENABLED is not defined"
 #endif
 
+#ifndef __WORKAROUND_RETS
+#error "__WORKAROUND_RETS is not defined"
+#endif
+
 #ifndef __WORKAROUND_SPECULATIVE_LOADS
 #error "__WORKAROUND_SPECULATIVE_LOADS is not defined"
 #endif
index 50cec9c..62bd382 100644 (file)
 #error "__WORKAROUNDS_ENABLED is not defined"
 #endif
 
+#ifndef __WORKAROUND_RETS
+#error "__WORKAROUND_RETS is not defined"
+#endif
+
 #ifndef __WORKAROUND_SPECULATIVE_LOADS
 #error "__WORKAROUND_SPECULATIVE_LOADS is not defined"
 #endif
index d9781ba..3209f23 100644 (file)
 #error "__WORKAROUNDS_ENABLED is defined"
 #endif
 
+#ifdef __WORKAROUND_RETS
+#error "__WORKAROUND_RETS is defined"
+#endif
+
 #ifdef __WORKAROUND_SPECULATIVE_LOADS
 #error "__WORKAROUND_SPECULATIVE_LOADS is defined"
 #endif