diff options
author | Richard Earnshaw <rearnsha@arm.com> | 2023-11-07 10:52:23 +0000 |
---|---|---|
committer | Richard Earnshaw <rearnsha@arm.com> | 2023-11-13 14:15:57 +0000 |
commit | 1fb74401508b64f7ba597a54c8a6b68d0a1b761c (patch) | |
tree | b8bc1597c80f0aa851bae2bc441ab883d977e37d | |
parent | fa3fa735db16ec441db2aa155c941f289750576b (diff) | |
download | gcc-1fb74401508b64f7ba597a54c8a6b68d0a1b761c.zip gcc-1fb74401508b64f7ba597a54c8a6b68d0a1b761c.tar.gz gcc-1fb74401508b64f7ba597a54c8a6b68d0a1b761c.tar.bz2 |
arm: testsuite: fix some more architecture tests
This fixes a bunch more tests that try to override the default architecture;
some partially used the framework for doing this, others just blindly
added a -march option, which was doomed to cause problems. In most cases
we can now run these tests regardless of the users testing options and
the base compiler configuration.
gcc/testsuite:
* lib/target-supports.exp (check_effective_target_arm_arch_FUNC_ok):
Add test for v7a_arm.
* gcc.target/arm/pr60650-2.c: Use require-effective-target and
add-options.
* gcc.target/arm/pr60657.c: Likewise.
* gcc.target/arm/pr60663.c: Likewise.
* gcc.target/arm/pr81863.c: Likewise.
* gcc.target/arm/pr97969.c: Likewise.
* gcc.target/arm/pr98931.c: Likewise.
* gcc.target/arm/tail-long-call.c: Likewise.
-rw-r--r-- | gcc/testsuite/gcc.target/arm/pr60650-2.c | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/arm/pr60657.c | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/arm/pr60663.c | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/arm/pr81863.c | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/arm/pr97969.c | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/arm/pr98931.c | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/arm/tail-long-call.c | 6 | ||||
-rw-r--r-- | gcc/testsuite/lib/target-supports.exp | 1 |
8 files changed, 23 insertions, 9 deletions
diff --git a/gcc/testsuite/gcc.target/arm/pr60650-2.c b/gcc/testsuite/gcc.target/arm/pr60650-2.c index c44d7b5..36d57f0 100644 --- a/gcc/testsuite/gcc.target/arm/pr60650-2.c +++ b/gcc/testsuite/gcc.target/arm/pr60650-2.c @@ -1,6 +1,8 @@ /* { dg-do compile } */ +/* { dg-require-effective-target arm_arch_v7a_ok } */ /* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */ -/* { dg-options "-O2 -fno-omit-frame-pointer -march=armv7-a" } */ +/* { dg-options "-O2 -fno-omit-frame-pointer" } */ +/* { dg-add-options arm_arch_v7a } */ int a, h, j; long long d, e, i; diff --git a/gcc/testsuite/gcc.target/arm/pr60657.c b/gcc/testsuite/gcc.target/arm/pr60657.c index ca12152..e608dd3 100644 --- a/gcc/testsuite/gcc.target/arm/pr60657.c +++ b/gcc/testsuite/gcc.target/arm/pr60657.c @@ -1,6 +1,8 @@ /* { dg-do compile } */ +/* { dg-require-effective-target arm_arch_v7a_ok } */ /* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */ -/* { dg-options "-O2 -march=armv7-a" } */ +/* { dg-options "-O2" } */ +/* { dg-add-options arm_arch_v7a } */ void foo (void); diff --git a/gcc/testsuite/gcc.target/arm/pr60663.c b/gcc/testsuite/gcc.target/arm/pr60663.c index 8d76d79..bb48d7f 100644 --- a/gcc/testsuite/gcc.target/arm/pr60663.c +++ b/gcc/testsuite/gcc.target/arm/pr60663.c @@ -1,7 +1,9 @@ /* PR rtl-optimization/60663 */ /* { dg-do compile } */ +/* { dg-require-effective-target arm_arch_v7a_ok } */ /* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */ -/* { dg-options "-O2 -march=armv7-a" } */ +/* { dg-options "-O2" } */ +/* { dg-add-options arm_arch_v7a } */ int foo (void) diff --git a/gcc/testsuite/gcc.target/arm/pr81863.c b/gcc/testsuite/gcc.target/arm/pr81863.c index 85bfab1..a96f3b5 100644 --- a/gcc/testsuite/gcc.target/arm/pr81863.c +++ b/gcc/testsuite/gcc.target/arm/pr81863.c @@ -1,8 +1,10 @@ /* testsuite/gcc.target/arm/pr48183.c */ /* { dg-do compile } */ +/* { dg-require-effective-target arm_arch_v7a_arm_ok } */ /* { dg-skip-if "-mslow-flash-data and -mword-relocations incompatible" { *-*-* } { "-mslow-flash-data" } } */ /* { dg-skip-if "-mpure-code and -mword-relocations incompatible" { *-*-* } { "-mpure-code" } } */ -/* { dg-options "-O2 -mword-relocations -march=armv7-a -marm" } */ +/* { dg-options "-O2 -mword-relocations" } */ +/* { dg-add-options arm_arch_v7a_arm } */ /* { dg-final { scan-assembler-not "\[\\t \]+movw" } } */ int a, d, f; diff --git a/gcc/testsuite/gcc.target/arm/pr97969.c b/gcc/testsuite/gcc.target/arm/pr97969.c index 714a1d1..b8c3a23 100644 --- a/gcc/testsuite/gcc.target/arm/pr97969.c +++ b/gcc/testsuite/gcc.target/arm/pr97969.c @@ -1,5 +1,7 @@ /* { dg-do compile } */ -/* { dg-options "-std=c99 -fno-omit-frame-pointer -mthumb -w -Os" } */ +/* { dg-require-effective-target arm_arch_v6m_ok } */ +/* { dg-options "-std=c99 -fno-omit-frame-pointer -w -Os" } */ +/* { dg-add-options arm_arch_v6m } */ typedef a[23]; enum { b }; diff --git a/gcc/testsuite/gcc.target/arm/pr98931.c b/gcc/testsuite/gcc.target/arm/pr98931.c index 66070ad..56f66a3 100644 --- a/gcc/testsuite/gcc.target/arm/pr98931.c +++ b/gcc/testsuite/gcc.target/arm/pr98931.c @@ -1,6 +1,7 @@ /* { dg-do assemble } */ -/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" "-mcpu=*" } } */ -/* { dg-options "-march=armv8.1-m.main -O3 --param=max-completely-peeled-insns=1300 --save-temps -mthumb" } */ +/* { dg-require-effective-target arm_arch_v8_1m_main_ok } */ +/* { dg-options "-O3 --param=max-completely-peeled-insns=1300 --save-temps" } */ +/* { dg-add-options arm_arch_v8_1m_main } */ extern long long a[][20][26][26][22]; diff --git a/gcc/testsuite/gcc.target/arm/tail-long-call.c b/gcc/testsuite/gcc.target/arm/tail-long-call.c index f70e9cf..6a13006 100644 --- a/gcc/testsuite/gcc.target/arm/tail-long-call.c +++ b/gcc/testsuite/gcc.target/arm/tail-long-call.c @@ -1,6 +1,8 @@ -/* { dg-skip-if "need at least armv5te" { *-*-* } { "-march=armv[234]*" "-mthumb" } { "" } } */ +/* { dg-do compile } */ +/* { dg-require-effective-target arm_arch_v5te_arm_ok } */ /* { dg-skip-if "FDPIC does not support tailcall optimization" { arm*-*-uclinuxfdpiceabi } "*" "" } */ -/* { dg-options "-O2 -march=armv5te -marm" } */ +/* { dg-options "-O2" } */ +/* { dg-add-options arm_arch_v5te_arm } */ /* { dg-final { scan-assembler "bx" } } */ /* { dg-final { scan-assembler-not "blx" } } */ diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index 3d504d2..ae43dc9 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -5424,6 +5424,7 @@ foreach { armfunc armflag armdefs } { v6z_thumb "-march=armv6z+fp -mthumb -mfloat-abi=softfp" "__ARM_ARCH_6Z__ && __thumb__" v6m "-march=armv6-m -mthumb -mfloat-abi=soft" __ARM_ARCH_6M__ v7a "-march=armv7-a+fp" __ARM_ARCH_7A__ + v7a_arm "-march=armv7-a+fp -marm" "__ARM_ARCH_7A__ && !__thumb__" v7r "-march=armv7-r+fp" __ARM_ARCH_7R__ v7m "-march=armv7-m -mthumb -mfloat-abi=soft" __ARM_ARCH_7M__ v7em "-march=armv7e-m+fp -mthumb" __ARM_ARCH_7EM__ |