From 1f98b7b2e5fa1e0b3e281b5873bc6119bd4e4583 Mon Sep 17 00:00:00 2001 From: Janis Johnson Date: Thu, 17 Jan 2013 15:50:51 +0000 Subject: [PATCH] ftest-support.h: Replace for compile-only tests. * 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 --- gcc/testsuite/ChangeLog | 30 +++ .../gcc.target/arm/ftest-armv4-arm.c | 19 +- .../gcc.target/arm/ftest-armv4t-arm.c | 20 +- .../gcc.target/arm/ftest-armv4t-thumb.c | 20 +- .../gcc.target/arm/ftest-armv5t-arm.c | 23 +- .../gcc.target/arm/ftest-armv5t-thumb.c | 20 +- .../gcc.target/arm/ftest-armv5te-arm.c | 29 ++- .../gcc.target/arm/ftest-armv5te-thumb.c | 20 +- .../gcc.target/arm/ftest-armv6-arm.c | 41 +++- .../gcc.target/arm/ftest-armv6-thumb.c | 23 +- .../gcc.target/arm/ftest-armv6k-arm.c | 41 +++- .../gcc.target/arm/ftest-armv6k-thumb.c | 23 +- .../gcc.target/arm/ftest-armv6m-thumb.c | 20 +- .../gcc.target/arm/ftest-armv6t2-arm.c | 41 +++- .../gcc.target/arm/ftest-armv6t2-thumb.c | 38 +++- .../gcc.target/arm/ftest-armv6z-arm.c | 41 +++- .../gcc.target/arm/ftest-armv6z-thumb.c | 23 +- .../gcc.target/arm/ftest-armv7a-arm.c | 44 +++- .../gcc.target/arm/ftest-armv7a-thumb.c | 44 +++- .../gcc.target/arm/ftest-armv7em-thumb.c | 41 +++- .../gcc.target/arm/ftest-armv7m-thumb.c | 35 ++- .../gcc.target/arm/ftest-armv7r-arm.c | 44 +++- .../gcc.target/arm/ftest-armv7r-thumb.c | 44 +++- .../gcc.target/arm/ftest-armv8a-arm.c | 44 +++- .../gcc.target/arm/ftest-armv8a-thumb.c | 44 +++- .../gcc.target/arm/ftest-support-arm.h | 30 --- .../gcc.target/arm/ftest-support-thumb.h | 30 --- gcc/testsuite/gcc.target/arm/ftest-support.h | 214 ++++++++++++------ 28 files changed, 739 insertions(+), 347 deletions(-) delete mode 100644 gcc/testsuite/gcc.target/arm/ftest-support-arm.h delete mode 100644 gcc/testsuite/gcc.target/arm/ftest-support-thumb.h diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index f6bef191bbe..1c1bd7bacf5 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,33 @@ +2013-01-17 Janis Johnson + + * 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 PR tree-optimizations/55264 diff --git a/gcc/testsuite/gcc.target/arm/ftest-armv4-arm.c b/gcc/testsuite/gcc.target/arm/ftest-armv4-arm.c index acaf72e235c..4b48ef803d4 100644 --- a/gcc/testsuite/gcc.target/arm/ftest-armv4-arm.c +++ b/gcc/testsuite/gcc.target/arm/ftest-armv4-arm.c @@ -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); -} diff --git a/gcc/testsuite/gcc.target/arm/ftest-armv4t-arm.c b/gcc/testsuite/gcc.target/arm/ftest-armv4t-arm.c index 7af6167e542..016506f46e8 100644 --- a/gcc/testsuite/gcc.target/arm/ftest-armv4t-arm.c +++ b/gcc/testsuite/gcc.target/arm/ftest-armv4t-arm.c @@ -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" diff --git a/gcc/testsuite/gcc.target/arm/ftest-armv4t-thumb.c b/gcc/testsuite/gcc.target/arm/ftest-armv4t-thumb.c index 1e6a2dac8ce..9ef944e5fbe 100644 --- a/gcc/testsuite/gcc.target/arm/ftest-armv4t-thumb.c +++ b/gcc/testsuite/gcc.target/arm/ftest-armv4t-thumb.c @@ -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" diff --git a/gcc/testsuite/gcc.target/arm/ftest-armv5t-arm.c b/gcc/testsuite/gcc.target/arm/ftest-armv5t-arm.c index cc7fc711dd9..a9403e97c1c 100644 --- a/gcc/testsuite/gcc.target/arm/ftest-armv5t-arm.c +++ b/gcc/testsuite/gcc.target/arm/ftest-armv5t-arm.c @@ -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" diff --git a/gcc/testsuite/gcc.target/arm/ftest-armv5t-thumb.c b/gcc/testsuite/gcc.target/arm/ftest-armv5t-thumb.c index b2b4727db77..f3ad07ec04b 100644 --- a/gcc/testsuite/gcc.target/arm/ftest-armv5t-thumb.c +++ b/gcc/testsuite/gcc.target/arm/ftest-armv5t-thumb.c @@ -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" diff --git a/gcc/testsuite/gcc.target/arm/ftest-armv5te-arm.c b/gcc/testsuite/gcc.target/arm/ftest-armv5te-arm.c index 7595e19f232..f98c01a0e7c 100644 --- a/gcc/testsuite/gcc.target/arm/ftest-armv5te-arm.c +++ b/gcc/testsuite/gcc.target/arm/ftest-armv5te-arm.c @@ -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" diff --git a/gcc/testsuite/gcc.target/arm/ftest-armv5te-thumb.c b/gcc/testsuite/gcc.target/arm/ftest-armv5te-thumb.c index a18ea520ff5..5d71787e8c4 100644 --- a/gcc/testsuite/gcc.target/arm/ftest-armv5te-thumb.c +++ b/gcc/testsuite/gcc.target/arm/ftest-armv5te-thumb.c @@ -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" diff --git a/gcc/testsuite/gcc.target/arm/ftest-armv6-arm.c b/gcc/testsuite/gcc.target/arm/ftest-armv6-arm.c index 465d1874d3d..88a50895485 100644 --- a/gcc/testsuite/gcc.target/arm/ftest-armv6-arm.c +++ b/gcc/testsuite/gcc.target/arm/ftest-armv6-arm.c @@ -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" diff --git a/gcc/testsuite/gcc.target/arm/ftest-armv6-thumb.c b/gcc/testsuite/gcc.target/arm/ftest-armv6-thumb.c index 0445587321b..0f42a0ca8dc 100644 --- a/gcc/testsuite/gcc.target/arm/ftest-armv6-thumb.c +++ b/gcc/testsuite/gcc.target/arm/ftest-armv6-thumb.c @@ -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" diff --git a/gcc/testsuite/gcc.target/arm/ftest-armv6k-arm.c b/gcc/testsuite/gcc.target/arm/ftest-armv6k-arm.c index c059b7776b4..8de021a0f69 100644 --- a/gcc/testsuite/gcc.target/arm/ftest-armv6k-arm.c +++ b/gcc/testsuite/gcc.target/arm/ftest-armv6k-arm.c @@ -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" diff --git a/gcc/testsuite/gcc.target/arm/ftest-armv6k-thumb.c b/gcc/testsuite/gcc.target/arm/ftest-armv6k-thumb.c index 8f19587cd45..8e4a1880428 100644 --- a/gcc/testsuite/gcc.target/arm/ftest-armv6k-thumb.c +++ b/gcc/testsuite/gcc.target/arm/ftest-armv6k-thumb.c @@ -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" diff --git a/gcc/testsuite/gcc.target/arm/ftest-armv6m-thumb.c b/gcc/testsuite/gcc.target/arm/ftest-armv6m-thumb.c index 1042761eb33..ee075e290b2 100644 --- a/gcc/testsuite/gcc.target/arm/ftest-armv6m-thumb.c +++ b/gcc/testsuite/gcc.target/arm/ftest-armv6m-thumb.c @@ -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" diff --git a/gcc/testsuite/gcc.target/arm/ftest-armv6t2-arm.c b/gcc/testsuite/gcc.target/arm/ftest-armv6t2-arm.c index 5f7f8749a92..83b4bc4c953 100644 --- a/gcc/testsuite/gcc.target/arm/ftest-armv6t2-arm.c +++ b/gcc/testsuite/gcc.target/arm/ftest-armv6t2-arm.c @@ -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" diff --git a/gcc/testsuite/gcc.target/arm/ftest-armv6t2-thumb.c b/gcc/testsuite/gcc.target/arm/ftest-armv6t2-thumb.c index e3695c45174..1a1cbc5abcc 100644 --- a/gcc/testsuite/gcc.target/arm/ftest-armv6t2-thumb.c +++ b/gcc/testsuite/gcc.target/arm/ftest-armv6t2-thumb.c @@ -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" diff --git a/gcc/testsuite/gcc.target/arm/ftest-armv6z-arm.c b/gcc/testsuite/gcc.target/arm/ftest-armv6z-arm.c index 079789021b5..e2df0d482bf 100644 --- a/gcc/testsuite/gcc.target/arm/ftest-armv6z-arm.c +++ b/gcc/testsuite/gcc.target/arm/ftest-armv6z-arm.c @@ -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" diff --git a/gcc/testsuite/gcc.target/arm/ftest-armv6z-thumb.c b/gcc/testsuite/gcc.target/arm/ftest-armv6z-thumb.c index c5a2e4918ef..9761f0a96f6 100644 --- a/gcc/testsuite/gcc.target/arm/ftest-armv6z-thumb.c +++ b/gcc/testsuite/gcc.target/arm/ftest-armv6z-thumb.c @@ -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" diff --git a/gcc/testsuite/gcc.target/arm/ftest-armv7a-arm.c b/gcc/testsuite/gcc.target/arm/ftest-armv7a-arm.c index e84559a8bd5..c71a7cdb75c 100644 --- a/gcc/testsuite/gcc.target/arm/ftest-armv7a-arm.c +++ b/gcc/testsuite/gcc.target/arm/ftest-armv7a-arm.c @@ -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" diff --git a/gcc/testsuite/gcc.target/arm/ftest-armv7a-thumb.c b/gcc/testsuite/gcc.target/arm/ftest-armv7a-thumb.c index ad9b4e3cd17..ac05ffa0c0b 100644 --- a/gcc/testsuite/gcc.target/arm/ftest-armv7a-thumb.c +++ b/gcc/testsuite/gcc.target/arm/ftest-armv7a-thumb.c @@ -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" diff --git a/gcc/testsuite/gcc.target/arm/ftest-armv7em-thumb.c b/gcc/testsuite/gcc.target/arm/ftest-armv7em-thumb.c index 7ef921010b5..688d766e71d 100644 --- a/gcc/testsuite/gcc.target/arm/ftest-armv7em-thumb.c +++ b/gcc/testsuite/gcc.target/arm/ftest-armv7em-thumb.c @@ -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" diff --git a/gcc/testsuite/gcc.target/arm/ftest-armv7m-thumb.c b/gcc/testsuite/gcc.target/arm/ftest-armv7m-thumb.c index 8bf875eb951..363b48b7516 100644 --- a/gcc/testsuite/gcc.target/arm/ftest-armv7m-thumb.c +++ b/gcc/testsuite/gcc.target/arm/ftest-armv7m-thumb.c @@ -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" diff --git a/gcc/testsuite/gcc.target/arm/ftest-armv7r-arm.c b/gcc/testsuite/gcc.target/arm/ftest-armv7r-arm.c index 44225644c6a..08c017fc2ba 100644 --- a/gcc/testsuite/gcc.target/arm/ftest-armv7r-arm.c +++ b/gcc/testsuite/gcc.target/arm/ftest-armv7r-arm.c @@ -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" diff --git a/gcc/testsuite/gcc.target/arm/ftest-armv7r-thumb.c b/gcc/testsuite/gcc.target/arm/ftest-armv7r-thumb.c index da866e4ab7a..1b69dc0f01a 100644 --- a/gcc/testsuite/gcc.target/arm/ftest-armv7r-thumb.c +++ b/gcc/testsuite/gcc.target/arm/ftest-armv7r-thumb.c @@ -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" diff --git a/gcc/testsuite/gcc.target/arm/ftest-armv8a-arm.c b/gcc/testsuite/gcc.target/arm/ftest-armv8a-arm.c index 1fab3c8a497..7812c5cd50b 100644 --- a/gcc/testsuite/gcc.target/arm/ftest-armv8a-arm.c +++ b/gcc/testsuite/gcc.target/arm/ftest-armv8a-arm.c @@ -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" diff --git a/gcc/testsuite/gcc.target/arm/ftest-armv8a-thumb.c b/gcc/testsuite/gcc.target/arm/ftest-armv8a-thumb.c index c57f4cec2b3..605b1735e9a 100644 --- a/gcc/testsuite/gcc.target/arm/ftest-armv8a-thumb.c +++ b/gcc/testsuite/gcc.target/arm/ftest-armv8a-thumb.c @@ -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 index 25920743282..00000000000 --- a/gcc/testsuite/gcc.target/arm/ftest-support-arm.h +++ /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 index a587999687a..00000000000 --- a/gcc/testsuite/gcc.target/arm/ftest-support-thumb.h +++ /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. */ diff --git a/gcc/testsuite/gcc.target/arm/ftest-support.h b/gcc/testsuite/gcc.target/arm/ftest-support.h index 5983760ee14..c56d2d58860 100644 --- a/gcc/testsuite/gcc.target/arm/ftest-support.h +++ b/gcc/testsuite/gcc.target/arm/ftest-support.h @@ -1,84 +1,156 @@ -#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 +#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 -- 2.30.2