ftest-support.h: Replace for compile-only tests.
authorJanis Johnson <janisjo@codesourcery.com>
Thu, 17 Jan 2013 15:50:51 +0000 (15:50 +0000)
committerJanis Johnson <janis@gcc.gnu.org>
Thu, 17 Jan 2013 15:50:51 +0000 (15:50 +0000)
* gcc.target/arm/ftest-support.h: Replace for compile-only tests.
* gcc.target/arm/ftest-support-arm.h: Delete.
* gcc.target/arm/ftest-support-thumb.h: Delete.
* gcc.target/arm/ftest-armv4-arm.c: Replace with compile-only test.
* gcc.target/arm/ftest-armv4t-arm.c: Likewise.
* gcc.target/arm/ftest-armv4t-thumb.c: Likewise.
* gcc.target/arm/ftest-armv5t-arm.c: Likewise.
* gcc.target/arm/ftest-armv5t-thumb.c: Likewise.
* gcc.target/arm/ftest-armv5te-arm.c: Likewise.
* gcc.target/arm/ftest-armv5te-thumb.c: Likewise.
* gcc.target/arm/ftest-armv6-arm.c: Likewise.
* gcc.target/arm/ftest-armv6-thumb.c: Likewise.
* gcc.target/arm/ftest-armv6k-arm.c: Likewise.
* gcc.target/arm/ftest-armv6k-thumb.c: Likewise.
* gcc.target/arm/ftest-armv6m-thumb.c: Likewise.
* gcc.target/arm/ftest-armv6t2-arm.c: Likewise.
* gcc.target/arm/ftest-armv6t2-thumb.c: Likewise.
* gcc.target/arm/ftest-armv6z-arm.c: Likewise.
* gcc.target/arm/ftest-armv6z-thumb.c: Likewise.
* gcc.target/arm/ftest-armv7a-arm.c: Likewise.
* gcc.target/arm/ftest-armv7a-thumb.c: Likewise.
* gcc.target/arm/ftest-armv7em-thumb.c: Likewise.
* gcc.target/arm/ftest-armv7m-thumb.c: Likewise.
* gcc.target/arm/ftest-armv7r-arm.c: Likewise.
* gcc.target/arm/ftest-armv7r-thumb.c: Likewise.
* gcc.target/arm/ftest-armv8a-arm.c: Likewise.
* gcc.target/arm/ftest-armv8a-thumb.c: Likewise.

From-SVN: r195270

28 files changed:
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/arm/ftest-armv4-arm.c
gcc/testsuite/gcc.target/arm/ftest-armv4t-arm.c
gcc/testsuite/gcc.target/arm/ftest-armv4t-thumb.c
gcc/testsuite/gcc.target/arm/ftest-armv5t-arm.c
gcc/testsuite/gcc.target/arm/ftest-armv5t-thumb.c
gcc/testsuite/gcc.target/arm/ftest-armv5te-arm.c
gcc/testsuite/gcc.target/arm/ftest-armv5te-thumb.c
gcc/testsuite/gcc.target/arm/ftest-armv6-arm.c
gcc/testsuite/gcc.target/arm/ftest-armv6-thumb.c
gcc/testsuite/gcc.target/arm/ftest-armv6k-arm.c
gcc/testsuite/gcc.target/arm/ftest-armv6k-thumb.c
gcc/testsuite/gcc.target/arm/ftest-armv6m-thumb.c
gcc/testsuite/gcc.target/arm/ftest-armv6t2-arm.c
gcc/testsuite/gcc.target/arm/ftest-armv6t2-thumb.c
gcc/testsuite/gcc.target/arm/ftest-armv6z-arm.c
gcc/testsuite/gcc.target/arm/ftest-armv6z-thumb.c
gcc/testsuite/gcc.target/arm/ftest-armv7a-arm.c
gcc/testsuite/gcc.target/arm/ftest-armv7a-thumb.c
gcc/testsuite/gcc.target/arm/ftest-armv7em-thumb.c
gcc/testsuite/gcc.target/arm/ftest-armv7m-thumb.c
gcc/testsuite/gcc.target/arm/ftest-armv7r-arm.c
gcc/testsuite/gcc.target/arm/ftest-armv7r-thumb.c
gcc/testsuite/gcc.target/arm/ftest-armv8a-arm.c
gcc/testsuite/gcc.target/arm/ftest-armv8a-thumb.c
gcc/testsuite/gcc.target/arm/ftest-support-arm.h [deleted file]
gcc/testsuite/gcc.target/arm/ftest-support-thumb.h [deleted file]
gcc/testsuite/gcc.target/arm/ftest-support.h

index f6bef191bbe00731926cbfcfd47e5b9d8ee85117..1c1bd7bacf55de1bd22814a78742d2b37e789a47 100644 (file)
@@ -1,3 +1,33 @@
+2013-01-17  Janis Johnson  <janisjo@codesourcery.com>
+
+       * gcc.target/arm/ftest-support.h: Replace for compile-only tests.
+       * gcc.target/arm/ftest-support-arm.h: Delete.
+       * gcc.target/arm/ftest-support-thumb.h: Delete.
+       * gcc.target/arm/ftest-armv4-arm.c: Replace with compile-only test.
+       * gcc.target/arm/ftest-armv4t-arm.c: Likewise.
+       * gcc.target/arm/ftest-armv4t-thumb.c: Likewise.
+       * gcc.target/arm/ftest-armv5t-arm.c: Likewise.
+       * gcc.target/arm/ftest-armv5t-thumb.c: Likewise.
+       * gcc.target/arm/ftest-armv5te-arm.c: Likewise.
+       * gcc.target/arm/ftest-armv5te-thumb.c: Likewise.
+       * gcc.target/arm/ftest-armv6-arm.c: Likewise.
+       * gcc.target/arm/ftest-armv6-thumb.c: Likewise.
+       * gcc.target/arm/ftest-armv6k-arm.c: Likewise.
+       * gcc.target/arm/ftest-armv6k-thumb.c: Likewise.
+       * gcc.target/arm/ftest-armv6m-thumb.c: Likewise.
+       * gcc.target/arm/ftest-armv6t2-arm.c: Likewise.
+       * gcc.target/arm/ftest-armv6t2-thumb.c: Likewise.
+       * gcc.target/arm/ftest-armv6z-arm.c: Likewise.
+       * gcc.target/arm/ftest-armv6z-thumb.c: Likewise.
+       * gcc.target/arm/ftest-armv7a-arm.c: Likewise.
+       * gcc.target/arm/ftest-armv7a-thumb.c: Likewise.
+       * gcc.target/arm/ftest-armv7em-thumb.c: Likewise.
+       * gcc.target/arm/ftest-armv7m-thumb.c: Likewise.
+       * gcc.target/arm/ftest-armv7r-arm.c: Likewise.
+       * gcc.target/arm/ftest-armv7r-thumb.c: Likewise.
+       * gcc.target/arm/ftest-armv8a-arm.c: Likewise.
+       * gcc.target/arm/ftest-armv8a-thumb.c: Likewise.
+
 2013-01-17  Martin Jambor  <mjambor@suse.cz>
 
        PR tree-optimizations/55264
index acaf72e235cbee7484beb4d1557d5ca306cb2d03..4b48ef803d4f53a67c4f36369cb4f537f584e7c7 100644 (file)
@@ -1,14 +1,15 @@
-/* { dg-do run } */
-/* { dg-require-effective-target arm_nothumb } */
-/* { dg-require-effective-target arm_arch_v4_multilib } */
+/* { dg-do compile } */
+/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv4" } } */
+/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-mthumb" } { "" } } */
 /* { dg-options "-marm" } */
 /* { dg-add-options arm_arch_v4 } */
 
-#include "ftest-support-arm.h"
+#define NEED_ARM_ARCH
+#define VALUE_ARM_ARCH 4
+
+#define NEED_ARM_ARCH_ISA_ARM
+#define VALUE_ARM_ARCH_ISA_ARM 1
+
+#include "ftest-support.h"
 
-int
-main (void)
-{
-  return ftest (ARCH_V4);
-}
 
index 7af6167e542882a1450c7a0ad48aed5df2328edb..016506f46e8f1fb12f3cd9fbce4b0e38f193b6fb 100644 (file)
@@ -1,14 +1,16 @@
-/* { dg-do run } */
-/* { dg-require-effective-target arm_nothumb } */
-/* { dg-require-effective-target arm_arch_v4t_multilib } */
+/* { dg-do compile } */
+/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv4t" } } */
+/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-mthumb" } { "" } } */
 /* { dg-options "-marm" } */
 /* { dg-add-options arm_arch_v4t } */
 
-#include "ftest-support-arm.h"
+#define NEED_ARM_ARCH
+#define VALUE_ARM_ARCH 4
 
-int
-main (void)
-{
-  return ftest (ARCH_V4T);
-}
+#define NEED_ARM_ARCH_ISA_ARM
+#define VALUE_ARM_ARCH_ISA_ARM 1
 
+#define NEED_ARM_ARCH_ISA_THUMB
+#define VALUE_ARM_ARCH_ISA_THUMB 1
+
+#include "ftest-support.h"
index 1e6a2dac8ce0656ae63e52ffe16bcb112bc48876..9ef944e5fbeaaef39e4eb04c1340ba3b660cedf5 100644 (file)
@@ -1,14 +1,16 @@
-/* { dg-do run } */
-/* { dg-require-effective-target arm_eabi } */
-/* { dg-require-effective-target arm_arch_v4t_multilib } */
+/* { dg-do compile } */
+/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv4t" } } */
+/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" } { "" } } */
 /* { dg-options "-mthumb" } */
 /* { dg-add-options arm_arch_v4t } */
 
-#include "ftest-support-thumb.h"
+#define NEED_ARM_ARCH
+#define VALUE_ARM_ARCH 4
 
-int
-main (void)
-{
-  return ftest (ARCH_V4T);
-}
+#define NEED_ARM_ARCH_ISA_ARM
+#define VALUE_ARM_ARCH_ISA_ARM 1
 
+#define NEED_ARM_ARCH_ISA_THUMB
+#define VALUE_ARM_ARCH_ISA_THUMB 1
+
+#include "ftest-support.h"
index cc7fc711dd96beb0217ddd8be3c50226b6c628a5..a9403e97c1cbd010b279df03aa846b36d210d2f4 100644 (file)
@@ -1,14 +1,19 @@
-/* { dg-do run } */
-/* { dg-require-effective-target arm_nothumb } */
-/* { dg-require-effective-target arm_arch_v5t_multilib } */
+/* { dg-do compile } */
+/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv5t" } } */
+/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-mthumb" } { "" } } */
 /* { dg-options "-marm" } */
 /* { dg-add-options arm_arch_v5t } */
 
-#include "ftest-support-arm.h"
+#define NEED_ARM_ARCH
+#define VALUE_ARM_ARCH 5
 
-int
-main (void)
-{
-  return ftest (ARCH_V5T);
-}
+#define NEED_ARM_ARCH_ISA_ARM
+#define VALUE_ARM_ARCH_ISA_ARM 1
 
+#define NEED_ARM_ARCH_ISA_THUMB
+#define VALUE_ARM_ARCH_ISA_THUMB 1
+
+#define NEED_ARM_FEATURE_CLZ
+#define VALUE_ARM_FEATURE_CLZ 1
+
+#include "ftest-support.h"
index b2b4727db773c05dcadc95a7b23c7477966b1fc7..f3ad07ec04b1e24c3b109a45cd7dcdb50d86522b 100644 (file)
@@ -1,14 +1,16 @@
-/* { dg-do run } */
-/* { dg-require-effective-target arm_eabi } */
-/* { dg-require-effective-target arm_arch_v5t_multilib } */
+/* { dg-do compile } */
+/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv5t" } } */
+/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" } { "" } } */
 /* { dg-options "-mthumb" } */
 /* { dg-add-options arm_arch_v5t } */
 
-#include "ftest-support-thumb.h"
+#define NEED_ARM_ARCH
+#define VALUE_ARM_ARCH 5
 
-int
-main (void)
-{
-  return ftest (ARCH_V5T);
-}
+#define NEED_ARM_ARCH_ISA_ARM
+#define VALUE_ARM_ARCH_ISA_ARM 1
 
+#define NEED_ARM_ARCH_ISA_THUMB
+#define VALUE_ARM_ARCH_ISA_THUMB 1
+
+#include "ftest-support.h"
index 7595e19f232eea6f13b39e1776fcc3d6fed11bcb..f98c01a0e7cd6f690fd84c70efa1ff0674acba43 100644 (file)
@@ -1,14 +1,25 @@
-/* { dg-do run } */
-/* { dg-require-effective-target arm_nothumb } */
-/* { dg-require-effective-target arm_arch_v5te_multilib } */
+/* { dg-do compile } */
+/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv5te" } } */
+/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-mthumb" } { "" } } */
 /* { dg-options "-marm" } */
 /* { dg-add-options arm_arch_v5te } */
 
-#include "ftest-support-arm.h"
+#define NEED_ARM_ARCH
+#define VALUE_ARM_ARCH 5
 
-int
-main (void)
-{
-  return ftest (ARCH_V5TE);
-}
+#define NEED_ARM_ARCH_ISA_ARM
+#define VALUE_ARM_ARCH_ISA_ARM 1
 
+#define NEED_ARM_ARCH_ISA_THUMB
+#define VALUE_ARM_ARCH_ISA_THUMB 1
+
+#define NEED_ARM_FEATURE_CLZ
+#define VALUE_ARM_FEATURE_CLZ 1
+
+#define NEED_ARM_FEATURE_DSP
+#define VALUE_ARM_FEATURE_DSP 1
+
+#define NEED_ARM_FEATURE_QBIT
+#define VALUE_ARM_FEATURE_QBIT 1
+
+#include "ftest-support.h"
index a18ea520ff5816b8d7ea7557bcd1324007c6718c..5d71787e8c41bd8fe126233e9fc903c700ffc292 100644 (file)
@@ -1,14 +1,16 @@
-/* { dg-do run } */
-/* { dg-require-effective-target arm_eabi } */
-/* { dg-require-effective-target arm_arch_v5te_multilib } */
+/* { dg-do compile } */
+/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv5te" } } */
+/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" } { "" } } */
 /* { dg-options "-mthumb" } */
 /* { dg-add-options arm_arch_v5te } */
 
-#include "ftest-support-thumb.h"
+#define NEED_ARM_ARCH
+#define VALUE_ARM_ARCH 5
 
-int
-main (void)
-{
-  return ftest (ARCH_V5TE);
-}
+#define NEED_ARM_ARCH_ISA_ARM
+#define VALUE_ARM_ARCH_ISA_ARM 1
 
+#define NEED_ARM_ARCH_ISA_THUMB
+#define VALUE_ARM_ARCH_ISA_THUMB 1
+
+#include "ftest-support.h"
index 465d1874d3d3d8956ec802b6806c2f87d2cb5f94..88a508954853dfccd2c5878e5ebd987655ab0fb1 100644 (file)
@@ -1,14 +1,37 @@
-/* { dg-do run } */
-/* { dg-require-effective-target arm_nothumb } */
-/* { dg-require-effective-target arm_arch_v6_multilib } */
+/* { dg-do compile } */
+/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv6" } } */
+/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-mthumb" } { "" } } */
 /* { dg-options "-marm" } */
 /* { dg-add-options arm_arch_v6 } */
 
-#include "ftest-support-arm.h"
+#define NEED_ARM_ARCH
+#define VALUE_ARM_ARCH 6
 
-int
-main (void)
-{
-  return ftest (ARCH_V6);
-}
+#define NEED_ARM_ARCH_ISA_ARM
+#define VALUE_ARM_ARCH_ISA_ARM 1
 
+#define NEED_ARM_ARCH_ISA_THUMB
+#define VALUE_ARM_ARCH_ISA_THUMB 1
+
+#define NEED_ARM_FEATURE_UNALIGNED
+#define VALUE_ARM_FEATURE_UNALIGNED 1
+
+#define NEED_ARM_FEATURE_LDREX
+#define VALUE_ARM_FEATURE_LDREX 4
+
+#define NEED_ARM_FEATURE_CLZ
+#define VALUE_ARM_FEATURE_CLZ 1
+
+#define NEED_ARM_FEATURE_DSP
+#define VALUE_ARM_FEATURE_DSP 1
+
+#define NEED_ARM_FEATURE_SIMD32
+#define VALUE_ARM_FEATURE_SIMD32 1
+
+#define NEED_ARM_FEATURE_QBIT
+#define VALUE_ARM_FEATURE_QBIT 1
+
+#define NEED_ARM_FEATURE_SAT
+#define VALUE_ARM_FEATURE_SAT 1
+
+#include "ftest-support.h"
index 0445587321bbaf19ce987f568212ca7e97e51cd5..0f42a0ca8dca820e6665114bec10e671bd658a66 100644 (file)
@@ -1,14 +1,19 @@
-/* { dg-do run } */
-/* { dg-require-effective-target arm_eabi } */
-/* { dg-require-effective-target arm_arch_v6_multilib } */
+/* { dg-do compile } */
+/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv6" } } */
+/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" } { "" } } */
 /* { dg-options "-mthumb" } */
 /* { dg-add-options arm_arch_v6 } */
 
-#include "ftest-support-thumb.h"
+#define NEED_ARM_ARCH
+#define VALUE_ARM_ARCH 6
 
-int
-main (void)
-{
-  return ftest (ARCH_V6);
-}
+#define NEED_ARM_ARCH_ISA_ARM
+#define VALUE_ARM_ARCH_ISA_ARM 1
 
+#define NEED_ARM_ARCH_ISA_THUMB
+#define VALUE_ARM_ARCH_ISA_THUMB 1
+
+#define NEED_ARM_FEATURE_UNALIGNED
+#define VALUE_ARM_FEATURE_UNALIGNED 1
+
+#include "ftest-support.h"
index c059b7776b495919de729ca51bb5a6841e561f13..8de021a0f69066e8ba68c4b9b310f1073a889470 100644 (file)
@@ -1,14 +1,37 @@
-/* { dg-do run } */
-/* { dg-require-effective-target arm_nothumb } */
-/* { dg-require-effective-target arm_arch_v6k_multilib } */
+/* { dg-do compile } */
+/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv6k" } } */
+/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-mthumb" } { "" } } */
 /* { dg-options "-marm" } */
 /* { dg-add-options arm_arch_v6k } */
 
-#include "ftest-support-arm.h"
+#define NEED_ARM_ARCH
+#define VALUE_ARM_ARCH 6
 
-int
-main (void)
-{
-  return ftest (ARCH_V6K);
-}
+#define NEED_ARM_ARCH_ISA_ARM
+#define VALUE_ARM_ARCH_ISA_ARM 1
 
+#define NEED_ARM_ARCH_ISA_THUMB
+#define VALUE_ARM_ARCH_ISA_THUMB 1
+
+#define NEED_ARM_FEATURE_UNALIGNED
+#define VALUE_ARM_FEATURE_UNALIGNED 1
+
+#define NEED_ARM_FEATURE_LDREX
+#define VALUE_ARM_FEATURE_LDREX 15
+
+#define NEED_ARM_FEATURE_CLZ
+#define VALUE_ARM_FEATURE_CLZ 1
+
+#define NEED_ARM_FEATURE_DSP
+#define VALUE_ARM_FEATURE_DSP 1
+
+#define NEED_ARM_FEATURE_SIMD32
+#define VALUE_ARM_FEATURE_SIMD32 1
+
+#define NEED_ARM_FEATURE_QBIT
+#define VALUE_ARM_FEATURE_QBIT 1
+
+#define NEED_ARM_FEATURE_SAT
+#define VALUE_ARM_FEATURE_SAT 1
+
+#include "ftest-support.h"
index 8f19587cd45342c0290959d1df6f3f220bfe2982..8e4a18804282a5005e8808353cbdfb1ba5cee865 100644 (file)
@@ -1,14 +1,19 @@
-/* { dg-do run } */
-/* { dg-require-effective-target arm_eabi } */
-/* { dg-require-effective-target arm_arch_v6k_multilib } */
+/* { dg-do compile } */
+/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv6k" } } */
+/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" } { "" } } */
 /* { dg-options "-mthumb" } */
 /* { dg-add-options arm_arch_v6k } */
 
-#include "ftest-support-thumb.h"
+#define NEED_ARM_ARCH
+#define VALUE_ARM_ARCH 6
 
-int
-main (void)
-{
-  return ftest (ARCH_V6K);
-}
+#define NEED_ARM_ARCH_ISA_ARM
+#define VALUE_ARM_ARCH_ISA_ARM 1
 
+#define NEED_ARM_ARCH_ISA_THUMB
+#define VALUE_ARM_ARCH_ISA_THUMB 1
+
+#define NEED_ARM_FEATURE_UNALIGNED
+#define VALUE_ARM_FEATURE_UNALIGNED 1
+
+#include "ftest-support.h"
index 1042761eb33c5593d5c96df2833283ed92176c84..ee075e290b21bdab86816e85e0245a192a8a37c5 100644 (file)
@@ -1,14 +1,16 @@
-/* { dg-do run } */
-/* { dg-require-effective-target arm_eabi } */
-/* { dg-require-effective-target arm_arch_v6m_multilib } */
+/* { dg-do compile } */
+/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv6-m" } } */
+/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" } { "" } } */
 /* { dg-options "-mthumb" } */
 /* { dg-add-options arm_arch_v6m } */
 
-#include "ftest-support-thumb.h"
+#define NEED_ARM_ARCH
+#define VALUE_ARM_ARCH 6
 
-int
-main (void)
-{
-  return ftest (ARCH_V6M);
-}
+#define NEED_ARM_ARCH_ISA_THUMB
+#define VALUE_ARM_ARCH_ISA_THUMB 1
 
+#define NEED_ARM_ARCH_PROFILE
+#define VALUE_ARM_ARCH_PROFILE 'M'
+
+#include "ftest-support.h"
index 5f7f8749a92a0ba77fd4d59e646b7376e9ee4f0a..83b4bc4c95303c8259025e3c6282728ad2b0d734 100644 (file)
@@ -1,14 +1,37 @@
-/* { dg-do run } */
-/* { dg-require-effective-target arm_nothumb } */
-/* { dg-require-effective-target arm_arch_v6t2_multilib } */
+/* { dg-do compile } */
+/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv6t2" } } */
+/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-mthumb" } { "" } } */
 /* { dg-options "-marm" } */
 /* { dg-add-options arm_arch_v6t2 } */
 
-#include "ftest-support-arm.h"
+#define NEED_ARM_ARCH
+#define VALUE_ARM_ARCH 6
 
-int
-main (void)
-{
-  return ftest (ARCH_V6T2);
-}
+#define NEED_ARM_ARCH_ISA_ARM
+#define VALUE_ARM_ARCH_ISA_ARM 1
 
+#define NEED_ARM_ARCH_ISA_THUMB
+#define VALUE_ARM_ARCH_ISA_THUMB 2
+
+#define NEED_ARM_FEATURE_UNALIGNED
+#define VALUE_ARM_FEATURE_UNALIGNED 1
+
+#define NEED_ARM_FEATURE_LDREX
+#define VALUE_ARM_FEATURE_LDREX 4
+
+#define NEED_ARM_FEATURE_CLZ
+#define VALUE_ARM_FEATURE_CLZ 1
+
+#define NEED_ARM_FEATURE_DSP
+#define VALUE_ARM_FEATURE_DSP 1
+
+#define NEED_ARM_FEATURE_SIMD32
+#define VALUE_ARM_FEATURE_SIMD32 1
+
+#define NEED_ARM_FEATURE_QBIT
+#define VALUE_ARM_FEATURE_QBIT 1
+
+#define NEED_ARM_FEATURE_SAT
+#define VALUE_ARM_FEATURE_SAT 1
+
+#include "ftest-support.h"
index e3695c451749f905e2a4af831c4251f23ebfdb44..1a1cbc5abcc18ef3019c3e8ce8155b577986660a 100644 (file)
@@ -1,14 +1,34 @@
-/* { dg-do run } */
-/* { dg-require-effective-target arm_eabi } */
-/* { dg-require-effective-target arm_arch_v6t2_multilib } */
+/* { dg-do compile } */
+/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv6t2" } } */
+/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" } { "" } } */
 /* { dg-options "-mthumb" } */
 /* { dg-add-options arm_arch_v6t2 } */
 
-#include "ftest-support-thumb.h"
+#define NEED_ARM_ARCH
+#define VALUE_ARM_ARCH 6
 
-int
-main (void)
-{
-  return ftest (ARCH_V6T2);
-}
+#define NEED_ARM_ARCH_ISA_ARM
+#define VALUE_ARM_ARCH_ISA_ARM 1
 
+#define NEED_ARM_ARCH_ISA_THUMB
+#define VALUE_ARM_ARCH_ISA_THUMB 2
+
+#define NEED_ARM_FEATURE_UNALIGNED
+#define VALUE_ARM_FEATURE_UNALIGNED 1
+
+#define NEED_ARM_FEATURE_CLZ
+#define VALUE_ARM_FEATURE_CLZ 1
+
+#define NEED_ARM_FEATURE_DSP
+#define VALUE_ARM_FEATURE_DSP 1
+
+#define NEED_ARM_FEATURE_SIMD32
+#define VALUE_ARM_FEATURE_SIMD32 1
+
+#define NEED_ARM_FEATURE_QBIT
+#define VALUE_ARM_FEATURE_QBIT 1
+
+#define NEED_ARM_FEATURE_SAT
+#define VALUE_ARM_FEATURE_SAT 1
+
+#include "ftest-support.h"
index 079789021b501ef368b5ff5300a75eb05f469dcd..e2df0d482bf9404d5064b814035c8598e214038d 100644 (file)
@@ -1,14 +1,37 @@
-/* { dg-do run } */
-/* { dg-require-effective-target arm_nothumb } */
-/* { dg-require-effective-target arm_arch_v6z_multilib } */
+/* { dg-do compile } */
+/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv6z" } } */
+/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-mthumb" } { "" } } */
 /* { dg-options "-marm" } */
 /* { dg-add-options arm_arch_v6z } */
 
-#include "ftest-support-arm.h"
+#define NEED_ARM_ARCH
+#define VALUE_ARM_ARCH 6
 
-int
-main (void)
-{
-  return ftest (ARCH_V6Z);
-}
+#define NEED_ARM_ARCH_ISA_ARM
+#define VALUE_ARM_ARCH_ISA_ARM 1
 
+#define NEED_ARM_ARCH_ISA_THUMB
+#define VALUE_ARM_ARCH_ISA_THUMB 1
+
+#define NEED_ARM_FEATURE_UNALIGNED
+#define VALUE_ARM_FEATURE_UNALIGNED 1
+
+#define NEED_ARM_FEATURE_LDREX
+#define VALUE_ARM_FEATURE_LDREX 4
+
+#define NEED_ARM_FEATURE_CLZ
+#define VALUE_ARM_FEATURE_CLZ 1
+
+#define NEED_ARM_FEATURE_DSP
+#define VALUE_ARM_FEATURE_DSP 1
+
+#define NEED_ARM_FEATURE_SIMD32
+#define VALUE_ARM_FEATURE_SIMD32 1
+
+#define NEED_ARM_FEATURE_QBIT
+#define VALUE_ARM_FEATURE_QBIT 1
+
+#define NEED_ARM_FEATURE_SAT
+#define VALUE_ARM_FEATURE_SAT 1
+
+#include "ftest-support.h"
index c5a2e4918ef30fa5c89352558539e1bd3c492b54..9761f0a96f6e935925c8f391d9ded7920f8ab2fe 100644 (file)
@@ -1,14 +1,19 @@
-/* { dg-do run } */
-/* { dg-require-effective-target arm_eabi } */
-/* { dg-require-effective-target arm_arch_v6z_multilib } */
+/* { dg-do compile } */
+/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv6z" } } */
+/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" } { "" } } */
 /* { dg-options "-mthumb" } */
 /* { dg-add-options arm_arch_v6z } */
 
-#include "ftest-support-thumb.h"
+#define NEED_ARM_ARCH
+#define VALUE_ARM_ARCH 6
 
-int
-main (void)
-{
-  return ftest (ARCH_V6Z);
-}
+#define NEED_ARM_ARCH_ISA_ARM
+#define VALUE_ARM_ARCH_ISA_ARM 1
 
+#define NEED_ARM_ARCH_ISA_THUMB
+#define VALUE_ARM_ARCH_ISA_THUMB 1
+
+#define NEED_ARM_FEATURE_UNALIGNED
+#define VALUE_ARM_FEATURE_UNALIGNED 1
+
+#include "ftest-support.h"
index e84559a8bd5d3ea992eccbaa2c83e7cacd04841f..c71a7cdb75c2ac94c65a0f4e7aad21e2e800a386 100644 (file)
@@ -1,14 +1,40 @@
-/* { dg-do run } */
-/* { dg-require-effective-target arm_nothumb } */
-/* { dg-require-effective-target arm_arch_v7a_multilib } */
+/* { dg-do compile } */
+/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv7-a" } } */
+/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-mthumb" } { "" } } */
 /* { dg-options "-marm" } */
 /* { dg-add-options arm_arch_v7a } */
 
-#include "ftest-support-arm.h"
+#define NEED_ARM_ARCH
+#define VALUE_ARM_ARCH 7
 
-int
-main (void)
-{
-  return ftest (ARCH_V7A);
-}
+#define NEED_ARM_ARCH_ISA_ARM
+#define VALUE_ARM_ARCH_ISA_ARM 1
 
+#define NEED_ARM_ARCH_ISA_THUMB
+#define VALUE_ARM_ARCH_ISA_THUMB 2
+
+#define NEED_ARM_ARCH_PROFILE
+#define VALUE_ARM_ARCH_PROFILE 'A'
+
+#define NEED_ARM_FEATURE_UNALIGNED
+#define VALUE_ARM_FEATURE_UNALIGNED 1
+
+#define NEED_ARM_FEATURE_LDREX
+#define VALUE_ARM_FEATURE_LDREX 15
+
+#define NEED_ARM_FEATURE_CLZ
+#define VALUE_ARM_FEATURE_CLZ 1
+
+#define NEED_ARM_FEATURE_DSP
+#define VALUE_ARM_FEATURE_DSP 1
+
+#define NEED_ARM_FEATURE_SIMD32
+#define VALUE_ARM_FEATURE_SIMD32 1
+
+#define NEED_ARM_FEATURE_QBIT
+#define VALUE_ARM_FEATURE_QBIT 1
+
+#define NEED_ARM_FEATURE_SAT
+#define VALUE_ARM_FEATURE_SAT 1
+
+#include "ftest-support.h"
index ad9b4e3cd17a2ef35998d27de62d428552a41285..ac05ffa0c0b857acd367a941bdd7a5c12cee2f8a 100644 (file)
@@ -1,14 +1,40 @@
-/* { dg-do run } */
-/* { dg-require-effective-target arm_eabi } */
-/* { dg-require-effective-target arm_arch_v7a_multilib } */
+/* { dg-do compile } */
+/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=aramv7-a" } } */
+/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" } { "" } } */
 /* { dg-options "-mthumb" } */
 /* { dg-add-options arm_arch_v7a } */
 
-#include "ftest-support-thumb.h"
+#define NEED_ARM_ARCH
+#define VALUE_ARM_ARCH 7
 
-int
-main (void)
-{
-  return ftest (ARCH_V7A);
-}
+#define NEED_ARM_ARCH_ISA_ARM
+#define VALUE_ARM_ARCH_ISA_ARM 1
 
+#define NEED_ARM_ARCH_ISA_THUMB
+#define VALUE_ARM_ARCH_ISA_THUMB 2
+
+#define NEED_ARM_ARCH_PROFILE
+#define VALUE_ARM_ARCH_PROFILE 'A'
+
+#define NEED_ARM_FEATURE_UNALIGNED
+#define VALUE_ARM_FEATURE_UNALIGNED 1
+
+#define NEED_ARM_FEATURE_LDREX
+#define VALUE_ARM_FEATURE_LDREX 15
+
+#define NEED_ARM_FEATURE_CLZ
+#define VALUE_ARM_FEATURE_CLZ 1
+
+#define NEED_ARM_FEATURE_DSP
+#define VALUE_ARM_FEATURE_DSP 1
+
+#define NEED_ARM_FEATURE_SIMD32
+#define VALUE_ARM_FEATURE_SIMD32 1
+
+#define NEED_ARM_FEATURE_QBIT
+#define VALUE_ARM_FEATURE_QBIT 1
+
+#define NEED_ARM_FEATURE_SAT
+#define VALUE_ARM_FEATURE_SAT 1
+
+#include "ftest-support.h"
index 7ef921010b5ecf083e5beb6efbbdb1789999b113..688d766e71d2a732fe1ac8a68cb8c0732959bece 100644 (file)
@@ -1,14 +1,37 @@
-/* { dg-do run } */
-/* { dg-require-effective-target arm_eabi } */
-/* { dg-require-effective-target arm_arch_v7em_multilib } */
+/* { dg-do compile } */
+/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv7e-m" } } */
+/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" } { "" } } */
 /* { dg-options "-mthumb" } */
 /* { dg-add-options arm_arch_v7em } */
 
-#include "ftest-support-thumb.h"
+#define NEED_ARM_ARCH
+#define VALUE_ARM_ARCH 7
 
-int
-main (void)
-{
-  return ftest (ARCH_V7EM);
-}
+#define NEED_ARM_ARCH_ISA_THUMB
+#define VALUE_ARM_ARCH_ISA_THUMB 2
 
+#define NEED_ARM_ARCH_PROFILE
+#define VALUE_ARM_ARCH_PROFILE 'M'
+
+#define NEED_ARM_FEATURE_UNALIGNED
+#define VALUE_ARM_FEATURE_UNALIGNED 1
+
+#define NEED_ARM_FEATURE_LDREX
+#define VALUE_ARM_FEATURE_LDREX 7
+
+#define NEED_ARM_FEATURE_CLZ
+#define VALUE_ARM_FEATURE_CLZ 1
+
+#define NEED_ARM_FEATURE_DSP
+#define VALUE_ARM_FEATURE_DSP 1
+
+#define NEED_ARM_FEATURE_SIMD32
+#define VALUE_ARM_FEATURE_SIMD32 1
+
+#define NEED_ARM_FEATURE_QBIT
+#define VALUE_ARM_FEATURE_QBIT 1
+
+#define NEED_ARM_FEATURE_SAT
+#define VALUE_ARM_FEATURE_SAT 1
+
+#include "ftest-support.h"
index 8bf875eb9510164c8168f7d758ca58f1019ec102..363b48b7516cca82cb510751141c823411126b72 100644 (file)
@@ -1,14 +1,31 @@
-/* { dg-do run } */
-/* { dg-require-effective-target arm_eabi } */
-/* { dg-require-effective-target arm_arch_v7m_multilib } */
+/* { dg-do compile } */
+/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=arm7-m" } } */
+/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" } { "" } } */
 /* { dg-options "-mthumb" } */
 /* { dg-add-options arm_arch_v7m } */
 
-#include "ftest-support-thumb.h"
+#define NEED_ARM_ARCH
+#define VALUE_ARM_ARCH 7
 
-int
-main (void)
-{
-  return ftest (ARCH_V7M);
-}
+#define NEED_ARM_ARCH_ISA_THUMB
+#define VALUE_ARM_ARCH_ISA_THUMB 2
 
+#define NEED_ARM_ARCH_PROFILE
+#define VALUE_ARM_ARCH_PROFILE 'M'
+
+#define NEED_ARM_FEATURE_UNALIGNED
+#define VALUE_ARM_FEATURE_UNALIGNED 1
+
+#define NEED_ARM_FEATURE_LDREX
+#define VALUE_ARM_FEATURE_LDREX 7
+
+#define NEED_ARM_FEATURE_CLZ
+#define VALUE_ARM_FEATURE_CLZ 1
+
+#define NEED_ARM_FEATURE_QBIT
+#define VALUE_ARM_FEATURE_QBIT 1
+
+#define NEED_ARM_FEATURE_SAT
+#define VALUE_ARM_FEATURE_SAT 1
+
+#include "ftest-support.h"
index 44225644c6af342e14bb21ef45509d24836f758a..08c017fc2ba60f5ec25d145a8106f59aaa0fbb4f 100644 (file)
@@ -1,14 +1,40 @@
-/* { dg-do run } */
-/* { dg-require-effective-target arm_nothumb } */
-/* { dg-require-effective-target arm_arch_v7r_multilib } */
+/* { dg-do compile } */
+/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv7-r" } } */
+/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-mthumb" } { "" } } */
 /* { dg-options "-marm" } */
 /* { dg-add-options arm_arch_v7r } */
 
-#include "ftest-support-arm.h"
+#define NEED_ARM_ARCH
+#define VALUE_ARM_ARCH 7
 
-int
-main (void)
-{
-  return ftest (ARCH_V7R);
-}
+#define NEED_ARM_ARCH_ISA_ARM
+#define VALUE_ARM_ARCH_ISA_ARM 1
 
+#define NEED_ARM_ARCH_ISA_THUMB
+#define VALUE_ARM_ARCH_ISA_THUMB 2
+
+#define NEED_ARM_ARCH_PROFILE
+#define VALUE_ARM_ARCH_PROFILE 'R'
+
+#define NEED_ARM_FEATURE_UNALIGNED
+#define VALUE_ARM_FEATURE_UNALIGNED 1
+
+#define NEED_ARM_FEATURE_LDREX
+#define VALUE_ARM_FEATURE_LDREX 15
+
+#define NEED_ARM_FEATURE_CLZ
+#define VALUE_ARM_FEATURE_CLZ 1
+
+#define NEED_ARM_FEATURE_DSP
+#define VALUE_ARM_FEATURE_DSP 1
+
+#define NEED_ARM_FEATURE_SIMD32
+#define VALUE_ARM_FEATURE_SIMD32 1
+
+#define NEED_ARM_FEATURE_QBIT
+#define VALUE_ARM_FEATURE_QBIT 1
+
+#define NEED_ARM_FEATURE_SAT
+#define VALUE_ARM_FEATURE_SAT 1
+
+#include "ftest-support.h"
index da866e4ab7ab6599e9c1f634d56fde5015540a98..1b69dc0f01a62fc9f91a085da9de02dbf762afeb 100644 (file)
@@ -1,14 +1,40 @@
-/* { dg-do run } */
-/* { dg-require-effective-target arm_eabi } */
-/* { dg-require-effective-target arm_arch_v7r_multilib } */
+/* { dg-do compile } */
+/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv7-r" } } */
+/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" } { "" } } */
 /* { dg-options "-mthumb" } */
 /* { dg-add-options arm_arch_v7r } */
 
-#include "ftest-support-thumb.h"
+#define NEED_ARM_ARCH
+#define VALUE_ARM_ARCH 7
 
-int
-main (void)
-{
-  return ftest (ARCH_V7R);
-}
+#define NEED_ARM_ARCH_ISA_ARM
+#define VALUE_ARM_ARCH_ISA_ARM 1
 
+#define NEED_ARM_ARCH_ISA_THUMB
+#define VALUE_ARM_ARCH_ISA_THUMB 2
+
+#define NEED_ARM_ARCH_PROFILE
+#define VALUE_ARM_ARCH_PROFILE 'R'
+
+#define NEED_ARM_FEATURE_UNALIGNED
+#define VALUE_ARM_FEATURE_UNALIGNED 1
+
+#define NEED_ARM_FEATURE_LDREX
+#define VALUE_ARM_FEATURE_LDREX 15
+
+#define NEED_ARM_FEATURE_CLZ
+#define VALUE_ARM_FEATURE_CLZ 1
+
+#define NEED_ARM_FEATURE_DSP
+#define VALUE_ARM_FEATURE_DSP 1
+
+#define NEED_ARM_FEATURE_SIMD32
+#define VALUE_ARM_FEATURE_SIMD32 1
+
+#define NEED_ARM_FEATURE_QBIT
+#define VALUE_ARM_FEATURE_QBIT 1
+
+#define NEED_ARM_FEATURE_SAT
+#define VALUE_ARM_FEATURE_SAT 1
+
+#include "ftest-support.h"
index 1fab3c8a49793bb0135e1ec1532c39b8f938abb8..7812c5cd50ba664c0457a8532ac45676ebd0c225 100644 (file)
@@ -1,14 +1,40 @@
-/* { dg-do run } */
-/* { dg-require-effective-target arm_nothumb } */
-/* { dg-require-effective-target arm_arch_v8a_multilib } */
+/* { dg-do compile } */
+/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv8-a" } } */
+/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-mthumb" } { "" } } */
 /* { dg-options "-marm" } */
 /* { dg-add-options arm_arch_v8a } */
 
-#include "ftest-support-arm.h"
+#define NEED_ARM_ARCH
+#define VALUE_ARM_ARCH 8
 
-int
-main (void)
-{
-  return ftest (ARCH_V8A);
-}
+#define NEED_ARM_ARCH_ISA_ARM
+#define VALUE_ARM_ARCH_ISA_ARM 1
 
+#define NEED_ARM_ARCH_ISA_THUMB
+#define VALUE_ARM_ARCH_ISA_THUMB 2
+
+#define NEED_ARM_ARCH_PROFILE
+#define VALUE_ARM_ARCH_PROFILE 'A'
+
+#define NEED_ARM_FEATURE_UNALIGNED
+#define VALUE_ARM_FEATURE_UNALIGNED 1
+
+#define NEED_ARM_FEATURE_LDREX
+#define VALUE_ARM_FEATURE_LDREX 15
+
+#define NEED_ARM_FEATURE_CLZ
+#define VALUE_ARM_FEATURE_CLZ 1
+
+#define NEED_ARM_FEATURE_DSP
+#define VALUE_ARM_FEATURE_DSP 1
+
+#define NEED_ARM_FEATURE_SIMD32
+#define VALUE_ARM_FEATURE_SIMD32 1
+
+#define NEED_ARM_FEATURE_QBIT
+#define VALUE_ARM_FEATURE_QBIT 1
+
+#define NEED_ARM_FEATURE_SAT
+#define VALUE_ARM_FEATURE_SAT 1
+
+#include "ftest-support.h"
index c57f4cec2b3db7d912f92359fe16d818021179ff..605b1735e9a6409fa94f3eee3598ab05f31e01af 100644 (file)
@@ -1,14 +1,40 @@
-/* { dg-do run } */
-/* { dg-require-effective-target arm_eabi } */
-/* { dg-require-effective-target arm_arch_v8a_multilib } */
+/* { dg-do compile } */
+/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv8-a" } } */
+/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" } { "" } } */
 /* { dg-options "-mthumb" } */
 /* { dg-add-options arm_arch_v8a } */
 
-#include "ftest-support-thumb.h"
+#define NEED_ARM_ARCH
+#define VALUE_ARM_ARCH 8
 
-int
-main (void)
-{
-  return ftest (ARCH_V8A);
-}
+#define NEED_ARM_ARCH_ISA_ARM
+#define VALUE_ARM_ARCH_ISA_ARM 1
 
+#define NEED_ARM_ARCH_ISA_THUMB
+#define VALUE_ARM_ARCH_ISA_THUMB 2
+
+#define NEED_ARM_ARCH_PROFILE
+#define VALUE_ARM_ARCH_PROFILE 'A'
+
+#define NEED_ARM_FEATURE_UNALIGNED
+#define VALUE_ARM_FEATURE_UNALIGNED 1
+
+#define NEED_ARM_FEATURE_LDREX
+#define VALUE_ARM_FEATURE_LDREX 15
+
+#define NEED_ARM_FEATURE_CLZ
+#define VALUE_ARM_FEATURE_CLZ 1
+
+#define NEED_ARM_FEATURE_DSP
+#define VALUE_ARM_FEATURE_DSP 1
+
+#define NEED_ARM_FEATURE_SIMD32
+#define VALUE_ARM_FEATURE_SIMD32 1
+
+#define NEED_ARM_FEATURE_QBIT
+#define VALUE_ARM_FEATURE_QBIT 1
+
+#define NEED_ARM_FEATURE_SAT
+#define VALUE_ARM_FEATURE_SAT 1
+
+#include "ftest-support.h"
diff --git a/gcc/testsuite/gcc.target/arm/ftest-support-arm.h b/gcc/testsuite/gcc.target/arm/ftest-support-arm.h
deleted file mode 100644 (file)
index 2592074..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-#include "ftest-support.h"
-
-  /*Feature matrix layout:
-    __ARM_ARCH
-    __ARM_ARCH_ISA_ARM
-    __ARM_ARCH_ISA_THUMB
-    __ARM_ARCH_PROFILE
-    __ARM_FEATURE_UNALIGNED
-    __ARM_FEATURE_LDREX
-    __ARM_FEATURE_CLZ
-    __ARM_FEATURE_DSP
-    __ARM_FEATURE_SIMD32
-    __ARM_FEATURE_QBIT
-    __ARM_FEATURE_SAT
-  */
-int feature_matrix[ARCH_COUNT][NUM_FEATURES] =
-  {{4, 1, 0, 0,   0, 0,  0, 0, 0, 0, 0},  /* ARCH_V4.  */
-   {4, 1, 1, 0,   0, 0,  0, 0, 0, 0, 0},  /* ARCH_V4T.  */
-   {5, 1, 1, 0,   0, 0,  1, 0, 0, 0, 0},  /* ARCH_V5T.  */
-   {5, 1, 1, 0,   0, 0,  1, 1, 0, 1, 0},  /* ARCH_V5TE.  */
-   {6, 1, 1, 0,   1, 4,  1, 1, 1, 1, 1},  /* ARCH_V6.  */
-   {6, 1, 1, 0,   1, 15, 1, 1, 1, 1, 1},  /* ARCH_V6K.  */
-   {6, 1, 2, 0,   1, 4,  1, 1, 1, 1, 1},  /* ARCH_V6T2.  */
-   {6, 1, 1, 0,   1, 4,  1, 1, 1, 1, 1},  /* ARCH_V6Z.  */
-   {6, 0, 1, 'M', 0, 0,  1, 0, 0, 0, 0},  /* ARCH_V6M.  */
-   {7, 1, 2, 'A', 1, 15, 1, 1, 1, 1, 1},  /* ARCH_V7A.  */
-   {7, 1, 2, 'R', 1, 15, 1, 1, 1, 1, 1},  /* ARCH_V7R.  */
-   {7, 0, 2, 'M', 1, 7,  1, 0, 0, 1, 1},  /* ARCH_V7M.  */
-   {7, 0, 2, 'M', 1, 7,  1, 1, 0, 1, 1},  /* ARCH_V7EM.  */
-   {8, 1, 2, 'A', 1, 15, 1, 1, 1, 1, 1}}; /* ARCH_V8A.  */
diff --git a/gcc/testsuite/gcc.target/arm/ftest-support-thumb.h b/gcc/testsuite/gcc.target/arm/ftest-support-thumb.h
deleted file mode 100644 (file)
index a587999..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-#include "ftest-support.h"
-
-  /*Feature matrix layout:
-    __ARM_ARCH
-    __ARM_ARCH_ISA_ARM
-    __ARM_ARCH_ISA_THUMB
-    __ARM_ARCH_PROFILE
-    __ARM_FEATURE_UNALIGNED
-    __ARM_FEATURE_LDREX
-    __ARM_FEATURE_CLZ
-    __ARM_FEATURE_DSP
-    __ARM_FEATURE_SIMD32
-    __ARM_FEATURE_QBIT
-    __ARM_FEATURE_SAT
-  */
-int feature_matrix[ARCH_COUNT][NUM_FEATURES] =
-  {{4, 1, 0, 0,   0, 0,  0, 0, 0, 0, 0},  /* ARCH_V4.  */
-   {4, 1, 1, 0,   0, 0,  0, 0, 0, 0, 0},  /* ARCH_V4T.  */
-   {5, 1, 1, 0,   0, 0,  0, 0, 0, 0, 0},  /* ARCH_V5T.  */
-   {5, 1, 1, 0,   0, 0,  0, 0, 0, 0, 0},  /* ARCH_V5TE.  */
-   {6, 1, 1, 0,   1, 0,  0, 0, 0, 0, 0},  /* ARCH_V6.  */
-   {6, 1, 1, 0,   1, 0,  0, 0, 0, 0, 0},  /* ARCH_V6K.  */
-   {6, 1, 2, 0,   1, 0,  1, 1, 1, 1, 1},  /* ARCH_V6T2.  */
-   {6, 1, 1, 0,   1, 0,  0, 0, 0, 0, 0},  /* ARCH_V6Z.  */
-   {6, 0, 1, 'M', 0, 0,  0, 0, 0, 0, 0},  /* ARCH_V6M.  */
-   {7, 1, 2, 'A', 1, 15, 1, 1, 1, 1, 1},  /* ARCH_V7A.  */
-   {7, 1, 2, 'R', 1, 15, 1, 1, 1, 1, 1},  /* ARCH_V7R.  */
-   {7, 0, 2, 'M', 1, 7,  1, 0, 0, 1, 1},  /* ARCH_V7M.  */
-   {7, 0, 2, 'M', 1, 7,  1, 1, 1, 1, 1},  /* ARCH_V7EM.  */
-   {8, 1, 2, 'A', 1, 15, 1, 1, 1, 1, 1}}; /* ARCH_V8A.  */
index 5983760ee1463a03a3cab3fa3972be6678a2b613..c56d2d58860081625422daf6eb88392017e31861 100644 (file)
-#if 0
-#define INTERNAL_DEBUG 1
-#endif
+/* For each of several ARM architecture features, check that relevant
+   macros are defined or not, and that they have the expected values.  */
 
-#ifdef INTERNAL_DEBUG
-#include <stdio.h>
+#ifdef NEED_ARM_ARCH
+# ifdef __ARM_ARCH
+#  if __ARM_ARCH != VALUE_ARM_ARCH
+#   error __ARM_ARCH has unexpected value
+#  endif
+# else
+#  error __ARM_ARCH is not defined but should be
+# endif
+#else
+# ifdef __ARM_ARCH
+#  error __ARM_ARCH is defined but should not be
+# endif
 #endif
 
-extern void abort (void);
-
-enum architecture {
-  ARCH_V4 = 0,
-  ARCH_V4T,
-  ARCH_V5T,
-  ARCH_V5TE,
-  ARCH_V6,
-  ARCH_V6K,
-  ARCH_V6T2,
-  ARCH_V6Z,
-  ARCH_V6M,
-  ARCH_V7A,
-  ARCH_V7R,
-  ARCH_V7M,
-  ARCH_V7EM,
-  ARCH_V8A,
-  ARCH_COUNT
-};
-
-#define NUM_FEATURES 11
-int feature_matrix[ARCH_COUNT][NUM_FEATURES];
-
-int
-ftest (int arch)
-{
-  int features[NUM_FEATURES] = {0};
-  int y;
-
-  for (y = 0; y < NUM_FEATURES; ++y)
-    features[y] = 0;
-
-#ifdef __ARM_ARCH
-  features[0] = __ARM_ARCH;
-#endif
-#ifdef __ARM_ARCH_ISA_ARM
-  features[1] = __ARM_ARCH_ISA_ARM;
-#endif
-#ifdef __ARM_ARCH_ISA_THUMB
-  features[2] = __ARM_ARCH_ISA_THUMB;
-#endif
-#ifdef __ARM_ARCH_PROFILE
-  features[3] = __ARM_ARCH_PROFILE;
+#ifdef NEED_ARM_ARCH_ISA_ARM
+# ifdef __ARM_ARCH_ISA_ARM
+#  if __ARM_ARCH_ISA_ARM != VALUE_ARM_ARCH_ISA_ARM
+#   error __ARM_ARCH_ISA_ARM has unexpected value
+#  endif
+# else
+#  error __ARM_ARCH_ISA_ARM is not defined but should be
+# endif
+#else
+# ifdef __ARM_ARCH_ISA_ARM
+#  error __ARM_ARCH_ISA_ARM is defined but should not be
+# endif
 #endif
-#ifdef __ARM_FEATURE_UNALIGNED
-  features[4] = __ARM_FEATURE_UNALIGNED;
+
+#ifdef NEED_ARM_ARCH_ISA_THUMB
+# ifdef __ARM_ARCH_ISA_THUMB
+#  if __ARM_ARCH_ISA_THUMB != VALUE_ARM_ARCH_ISA_THUMB
+#   error __ARM_ARCH_ISA_THUMB has unexpected value
+#  endif
+# else
+#  error __ARM_ARCH_ISA_THUMB is not defined but should be
+# endif
+#else
+# ifdef __ARM_ARCH_ISA_THUMB
+#  error __ARM_ARCH_ISA_THUMB is defined but should not be
+# endif
 #endif
-#ifdef __ARM_FEATURE_LDREX
-  features[5] = __ARM_FEATURE_LDREX;
+
+#ifdef NEED_ARM_ARCH_PROFILE
+# ifdef __ARM_ARCH_PROFILE
+#  if __ARM_ARCH_PROFILE != VALUE_ARM_ARCH_PROFILE
+#   error __ARM_ARCH_PROFILE has unexpected value
+#  endif
+# else
+#  error __ARM_ARCH_PROFILE is not defined but should be
+# endif
+#else
+# ifdef __ARM_ARCH_PROFILE
+#  error __ARM_ARCH_PROFILE is defined but should not be
+# endif
 #endif
-#ifdef __ARM_FEATURE_CLZ
-  features[6] = __ARM_FEATURE_CLZ;
+
+#ifdef NEED_ARM_FEATURE_UNALIGNED
+# ifdef __ARM_FEATURE_UNALIGNED
+#  if __ARM_FEATURE_UNALIGNED != VALUE_ARM_FEATURE_UNALIGNED
+#   error __ARM_FEATURE_UNALIGNED has unexpected value
+#  endif
+# else
+#  error __ARM_FEATURE_UNALIGNED is not defined but should be
+# endif
+#else
+# ifdef __ARM_FEATURE_UNALIGNED
+#  error __ARM_FEATURE_UNALIGNED is defined but should not be
+# endif
 #endif
-#ifdef __ARM_FEATURE_DSP
-  features[7] = __ARM_FEATURE_DSP;
+
+#ifdef NEED_ARM_FEATURE_LDREX
+# ifdef __ARM_FEATURE_LDREX
+#  if __ARM_FEATURE_LDREX != VALUE_ARM_FEATURE_LDREX
+#   error __ARM_FEATURE_LDREX has unexpected value
+#  endif
+# else
+#  error __ARM_FEATURE_LDREX is not defined but should be
+# endif
+#else
+# ifdef __ARM_FEATURE_LDREX
+#  error __ARM_FEATURE_LDREX is defined but should not be
+# endif
 #endif
-#ifdef __ARM_FEATURE_SIMD32
-  features[8] = __ARM_FEATURE_SIMD32;
+
+#ifdef NEED_ARM_FEATURE_CLZ
+# ifdef __ARM_FEATURE_CLZ
+#  if __ARM_FEATURE_CLZ != VALUE_ARM_FEATURE_CLZ
+#   error __ARM_FEATURE_CLZ has unexpected value
+#  endif
+# else
+#  error __ARM_FEATURE_CLZ is not defined but should be
+# endif
+#else
+# ifdef __ARM_FEATURE_CLZ
+#  error __ARM_FEATURE_CLZ is defined but should not be
+# endif
 #endif
-#ifdef __ARM_FEATURE_QBIT
-  features[9] = __ARM_FEATURE_QBIT;
+
+#ifdef NEED_ARM_FEATURE_DSP
+# ifdef __ARM_FEATURE_DSP
+#  if __ARM_FEATURE_DSP != VALUE_ARM_FEATURE_DSP
+#   error __ARM_FEATURE_DSP has unexpected value
+#  endif
+# else
+#  error __ARM_FEATURE_DSP is not defined but should be
+# endif
+#else
+# ifdef __ARM_FEATURE_DSP
+#  error __ARM_FEATURE_DSP is defined but should not be
+# endif
 #endif
-#ifdef __ARM_FEATURE_SAT
-  features[10] = __ARM_FEATURE_SAT;
+
+#ifdef NEED_ARM_FEATURE_SIMD32
+# ifdef __ARM_FEATURE_SIMD32
+#  if __ARM_FEATURE_SIMD32 != VALUE_ARM_FEATURE_SIMD32
+#   error __ARM_FEATURE_SIMD32 has unexpected value
+#  endif
+# else
+#  error __ARM_FEATURE_SIMD32 is not defined but should be
+# endif
+#else
+# ifdef __ARM_FEATURE_SIMD32
+#  error __ARM_FEATURE_SIMD32 is defined but should not be
+# endif
 #endif
-  for (y = 0; y < NUM_FEATURES; ++y)
-    if (feature_matrix[arch][y] != features[y])
-      {
-#ifdef INTERNAL_DEBUG
-       printf ("%d, %d, %d, %d\n", arch, y, feature_matrix[arch][y], features[y]);
+
+#ifdef NEED_ARM_FEATURE_QBIT
+# ifdef __ARM_FEATURE_QBIT
+#  if __ARM_FEATURE_QBIT != VALUE_ARM_FEATURE_QBIT
+#   error __ARM_FEATURE_QBIT has unexpected value
+#  endif
+# else
+#  error __ARM_FEATURE_QBIT is not defined but should be
+# endif
+#else
+# ifdef __ARM_FEATURE_QBIT
+#  error __ARM_FEATURE_QBIT is defined but should not be
+# endif
 #endif
-        abort ();
-      }
-  return 0;
-}
 
+#ifdef NEED_ARM_FEATURE_SAT
+# ifdef __ARM_FEATURE_SAT
+#  if __ARM_FEATURE_SAT != VALUE_ARM_FEATURE_SAT
+#   error __ARM_FEATURE_SAT has unexpected value
+#  endif
+# else
+#  error __ARM_FEATURE_SAT is not defined but should be
+# endif
+#else
+# ifdef __ARM_FEATURE_SAT
+#  error __ARM_FEATURE_SAT is defined but should not be
+# endif
+#endif