On 19/11/2024 10:23, Torbjörn SVENSSON wrote:
> Update test cases to use -mcpu=unset/-march=unset feature introduced in
> r15-3606-g7d6c6a0d15c.
>
> gcc/testsuite/ChangeLog:
>
> * gcc.target/arm/pac-1.c: Use effective-target
> arm_arch_v8_1m_main_pacbti.
> * gcc.target/arm/pac-1.c: Likewise.
> * gcc.target/arm/pac-2.c: Likewise.
> * gcc.target/arm/pac-3.c: Likewise.
> * gcc.target/arm/pac-4.c: Likewise.
> * gcc.target/arm/pac-5.c: Likewise.
> * gcc.target/arm/pac-7.c: Likewise.
> * gcc.target/arm/pac-8.c: Likewise.
> * gcc.target/arm/pac-9.c: Likewise.
> * gcc.target/arm/pac-10.c: Likewise.
> * gcc.target/arm/pac-11.c: Likewise.
> * gcc.target/arm/pac-sibcall.c: Likewise.
> * gcc.target/arm/pac-sibcall-2.c: Likewise.
> * gcc.target/arm/pac-sibcall-3.c: Likewise.
> * gcc.target/arm/pac-12.c: Added option "-mcpu=unset".
> * gcc.target/arm/pac-13.c: Likewise.
> * gcc.target/arm/pac-14.c: Likewise.
> * lib/target-supports.exp(check_effective_target_arm_pacbti_hw):
Space before '('.
> Likewise.
> * gcc.target/arm/pac-6.c: Use effective-target
> arm_arch_v8_1m_main.
> * gcc.target/arm/pac-15.c: Use effective-target
> arm_arch_v8_1m_main_pacbti and added option "-mcpu=unset".
This is OK. I think there are some general structural issues with the
framework for these tests[1], but this is an incremental improvement.
R.
[1] Eg we have "dg-do run" with a hardware check and scan-assembler in the same
test.
>
> Signed-off-by: Torbjörn SVENSSON <[email protected]>
> Co-authored-by: Yvan ROUX <[email protected]>
> ---
> gcc/testsuite/gcc.target/arm/pac-1.c | 4 +++-
> gcc/testsuite/gcc.target/arm/pac-10.c | 4 +++-
> gcc/testsuite/gcc.target/arm/pac-11.c | 4 +++-
> gcc/testsuite/gcc.target/arm/pac-12.c | 2 +-
> gcc/testsuite/gcc.target/arm/pac-13.c | 2 +-
> gcc/testsuite/gcc.target/arm/pac-14.c | 2 +-
> gcc/testsuite/gcc.target/arm/pac-15.c | 4 ++--
> gcc/testsuite/gcc.target/arm/pac-2.c | 4 +++-
> gcc/testsuite/gcc.target/arm/pac-3.c | 4 +++-
> gcc/testsuite/gcc.target/arm/pac-4.c | 4 +++-
> gcc/testsuite/gcc.target/arm/pac-5.c | 4 +++-
> gcc/testsuite/gcc.target/arm/pac-6.c | 4 +++-
> gcc/testsuite/gcc.target/arm/pac-7.c | 4 +++-
> gcc/testsuite/gcc.target/arm/pac-8.c | 4 +++-
> gcc/testsuite/gcc.target/arm/pac-9.c | 4 +++-
> gcc/testsuite/lib/target-supports.exp | 2 +-
> 16 files changed, 39 insertions(+), 17 deletions(-)
>
> diff --git a/gcc/testsuite/gcc.target/arm/pac-1.c
> b/gcc/testsuite/gcc.target/arm/pac-1.c
> index e0eea0858e0..a2bec355214 100644
> --- a/gcc/testsuite/gcc.target/arm/pac-1.c
> +++ b/gcc/testsuite/gcc.target/arm/pac-1.c
> @@ -1,8 +1,10 @@
> /* Testing return address signing. */
> /* { dg-do run } */
> +/* { dg-require-effective-target arm_arch_v8_1m_main_pacbti_link } */
> /* { dg-require-effective-target mbranch_protection_ok } */
> /* { dg-require-effective-target arm_pacbti_hw } */
> -/* { dg-options "-march=armv8.1-m.main+pacbti+fp
> -mbranch-protection=pac-ret+leaf -mthumb -mfloat-abi=hard --save-temps -O0" }
> */
> +/* { dg-options "-mbranch-protection=pac-ret+leaf -mfloat-abi=hard
> --save-temps -O0" } */
> +/* { dg-add-options arm_arch_v8_1m_main_pacbti } */
>
> #include "pac.h"
>
> diff --git a/gcc/testsuite/gcc.target/arm/pac-10.c
> b/gcc/testsuite/gcc.target/arm/pac-10.c
> index 6da8434aeaf..0882dad7406 100644
> --- a/gcc/testsuite/gcc.target/arm/pac-10.c
> +++ b/gcc/testsuite/gcc.target/arm/pac-10.c
> @@ -1,7 +1,9 @@
> /* Testing return address signing. */
> /* { dg-do compile } */
> +/* { dg-require-effective-target arm_arch_v8_1m_main_pacbti_ok } */
> /* { dg-require-effective-target mbranch_protection_ok } */
> -/* { dg-options "-march=armv8.1-m.main+pacbti+fp -mbranch-protection=pac-ret
> -mthumb -mfloat-abi=hard --save-temps -O0" } */
> +/* { dg-options "-mbranch-protection=pac-ret -mfloat-abi=hard --save-temps
> -O0" } */
> +/* { dg-add-options arm_arch_v8_1m_main_pacbti } */
>
> #include "pac.h"
>
> diff --git a/gcc/testsuite/gcc.target/arm/pac-11.c
> b/gcc/testsuite/gcc.target/arm/pac-11.c
> index 0bb727c2c80..32685a726b7 100644
> --- a/gcc/testsuite/gcc.target/arm/pac-11.c
> +++ b/gcc/testsuite/gcc.target/arm/pac-11.c
> @@ -1,7 +1,9 @@
> /* Testing return address signing. */
> /* { dg-do compile } */
> +/* { dg-require-effective-target arm_arch_v8_1m_main_pacbti_ok } */
> /* { dg-require-effective-target mbranch_protection_ok } */
> -/* { dg-options "-march=armv8.1-m.main+pacbti+fp
> -mbranch-protection=bti+pac-ret+leaf -mthumb -mfloat-abi=hard --save-temps
> -O2" } */
> +/* { dg-options "-mbranch-protection=bti+pac-ret+leaf -mfloat-abi=hard
> --save-temps -O2" } */
> +/* { dg-add-options arm_arch_v8_1m_main_pacbti } */
>
> #include "pac.h"
>
> diff --git a/gcc/testsuite/gcc.target/arm/pac-12.c
> b/gcc/testsuite/gcc.target/arm/pac-12.c
> index 6e1295c834d..37bf0047c2e 100644
> --- a/gcc/testsuite/gcc.target/arm/pac-12.c
> +++ b/gcc/testsuite/gcc.target/arm/pac-12.c
> @@ -2,6 +2,6 @@
> /* { dg-do run } */
> /* { dg-require-effective-target arm_pacbti_hw } */
> /* { dg-skip-if "need fp instructions" { *-*-* } { "" } { "-mfloat-abi=hard"
> } } */
> -/* { dg-options "-march=armv8.1-m.main+dsp+fp.dp+pacbti
> -mbranch-protection=standard -mthumb -mfloat-abi=hard" } */
> +/* { dg-options "-mcpu=unset -march=armv8.1-m.main+dsp+fp.dp+pacbti
> -mbranch-protection=standard -mthumb -mfloat-abi=hard" } */
>
> #include "pac.h"
> diff --git a/gcc/testsuite/gcc.target/arm/pac-13.c
> b/gcc/testsuite/gcc.target/arm/pac-13.c
> index faf836b2026..971e67effa1 100644
> --- a/gcc/testsuite/gcc.target/arm/pac-13.c
> +++ b/gcc/testsuite/gcc.target/arm/pac-13.c
> @@ -2,6 +2,6 @@
> /* { dg-do run } */
> /* { dg-require-effective-target arm_pacbti_hw } */
> /* { dg-skip-if "need fp instructions" { *-*-* } { "" } { "-mfloat-abi=hard"
> } } */
> -/* { dg-options "-march=armv8.1-m.main+mve.fp+fp.dp+pacbti
> -mbranch-protection=standard -mthumb -mfloat-abi=hard" } */
> +/* { dg-options "-mcpu=unset -march=armv8.1-m.main+mve.fp+fp.dp+pacbti
> -mbranch-protection=standard -mthumb -mfloat-abi=hard" } */
>
> #include "pac.h"
> diff --git a/gcc/testsuite/gcc.target/arm/pac-14.c
> b/gcc/testsuite/gcc.target/arm/pac-14.c
> index 51609b61c75..1b2caed09a0 100644
> --- a/gcc/testsuite/gcc.target/arm/pac-14.c
> +++ b/gcc/testsuite/gcc.target/arm/pac-14.c
> @@ -2,6 +2,6 @@
> /* { dg-do run } */
> /* { dg-require-effective-target arm_pacbti_hw } */
> /* { dg-skip-if "need fp instructions" { *-*-* } { "" } { "-mfloat-abi=hard"
> } } */
> -/* { dg-options "-march=armv8.1-m.main+mve+fp.dp+pacbti
> -mbranch-protection=standard -mthumb -mfloat-abi=hard" } */
> +/* { dg-options "-mcpu=unset -march=armv8.1-m.main+mve+fp.dp+pacbti
> -mbranch-protection=standard -mthumb -mfloat-abi=hard" } */
>
> #include "pac.h"
> diff --git a/gcc/testsuite/gcc.target/arm/pac-15.c
> b/gcc/testsuite/gcc.target/arm/pac-15.c
> index 979941492d3..788c4062c76 100644
> --- a/gcc/testsuite/gcc.target/arm/pac-15.c
> +++ b/gcc/testsuite/gcc.target/arm/pac-15.c
> @@ -1,8 +1,8 @@
> /* Check that GCC does .save and .cfi_offset directives with RA_AUTH_CODE
> pseudo hard-register. */
> /* { dg-do compile } */
> +/* { dg-require-effective-target arm_arch_v8_1m_main_pacbti_ok } */
> /* { dg-require-effective-target mbranch_protection_ok } */
> -/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm"
> "-mcpu=*" } } */
> -/* { dg-options "-march=armv8.1-m.main+mve+pacbti
> -mbranch-protection=pac-ret -mthumb -mfloat-abi=hard
> -fasynchronous-unwind-tables -g -O0" } */
> +/* { dg-options "-mcpu=unset -march=armv8.1-m.main+mve+pacbti
> -mbranch-protection=pac-ret -mthumb -mfloat-abi=hard
> -fasynchronous-unwind-tables -g -O0" } */
>
> #include "stdio.h"
>
> diff --git a/gcc/testsuite/gcc.target/arm/pac-2.c
> b/gcc/testsuite/gcc.target/arm/pac-2.c
> index 5eb1062043c..6a4f84e766c 100644
> --- a/gcc/testsuite/gcc.target/arm/pac-2.c
> +++ b/gcc/testsuite/gcc.target/arm/pac-2.c
> @@ -1,8 +1,10 @@
> /* Testing return address signing. */
> /* { dg-do run } */
> +/* { dg-require-effective-target arm_arch_v8_1m_main_pacbti_link } */
> /* { dg-require-effective-target mbranch_protection_ok } */
> /* { dg-require-effective-target arm_pacbti_hw } */
> -/* { dg-options "-march=armv8.1-m.main+pacbti+fp -mbranch-protection=pac-ret
> -mthumb -mfloat-abi=hard --save-temps -O0" } */
> +/* { dg-options "-mbranch-protection=pac-ret -mfloat-abi=hard --save-temps
> -O0" } */
> +/* { dg-add-options arm_arch_v8_1m_main_pacbti } */
>
> #include "pac.h"
>
> diff --git a/gcc/testsuite/gcc.target/arm/pac-3.c
> b/gcc/testsuite/gcc.target/arm/pac-3.c
> index 50453dd8ec4..82a1d73258f 100644
> --- a/gcc/testsuite/gcc.target/arm/pac-3.c
> +++ b/gcc/testsuite/gcc.target/arm/pac-3.c
> @@ -1,8 +1,10 @@
> /* Testing return address signing. */
> /* { dg-do run } */
> +/* { dg-require-effective-target arm_arch_v8_1m_main_pacbti_link } */
> /* { dg-require-effective-target mbranch_protection_ok } */
> /* { dg-require-effective-target arm_pacbti_hw } */
> -/* { dg-options "-march=armv8.1-m.main+pacbti+fp
> -mbranch-protection=bti+pac-ret+leaf -mthumb -mfloat-abi=hard --save-temps
> -O2" } */
> +/* { dg-options "-mbranch-protection=bti+pac-ret+leaf -mfloat-abi=hard
> --save-temps -O2" } */
> +/* { dg-add-options arm_arch_v8_1m_main_pacbti } */
>
> #include "pac.h"
>
> diff --git a/gcc/testsuite/gcc.target/arm/pac-4.c
> b/gcc/testsuite/gcc.target/arm/pac-4.c
> index 81907079d77..3998ae7637f 100644
> --- a/gcc/testsuite/gcc.target/arm/pac-4.c
> +++ b/gcc/testsuite/gcc.target/arm/pac-4.c
> @@ -1,7 +1,9 @@
> /* Testing return address signing. */
> /* { dg-do compile } */
> +/* { dg-require-effective-target arm_arch_v8_1m_main_pacbti_ok } */
> /* { dg-require-effective-target mbranch_protection_ok } */
> -/* { dg-options "-march=armv8.1-m.main+pacbti+fp -mthumb -mfloat-abi=hard
> --save-temps -O2" } */
> +/* { dg-options "-mfloat-abi=hard --save-temps -O2" } */
> +/* { dg-add-options arm_arch_v8_1m_main_pacbti } */
>
> #include "pac.h"
>
> diff --git a/gcc/testsuite/gcc.target/arm/pac-5.c
> b/gcc/testsuite/gcc.target/arm/pac-5.c
> index c70087eb6b6..98e298dfe39 100644
> --- a/gcc/testsuite/gcc.target/arm/pac-5.c
> +++ b/gcc/testsuite/gcc.target/arm/pac-5.c
> @@ -1,8 +1,10 @@
> /* Testing return address signing. */
> /* { dg-do run } */
> +/* { dg-require-effective-target arm_arch_v8_1m_main_pacbti_link } */
> /* { dg-require-effective-target mbranch_protection_ok } */
> /* { dg-require-effective-target arm_pacbti_hw } */
> -/* { dg-options "-march=armv8.1-m.main+pacbti+fp
> -mbranch-protection=pac-ret+leaf -mthumb -mfloat-abi=hard --save-temps -O0" }
> */
> +/* { dg-options "-mbranch-protection=pac-ret+leaf -mfloat-abi=hard
> --save-temps -O0" } */
> +/* { dg-add-options arm_arch_v8_1m_main_pacbti } */
>
> #include <stdlib.h>
>
> diff --git a/gcc/testsuite/gcc.target/arm/pac-6.c
> b/gcc/testsuite/gcc.target/arm/pac-6.c
> index a8e3067f825..2335aeee6a0 100644
> --- a/gcc/testsuite/gcc.target/arm/pac-6.c
> +++ b/gcc/testsuite/gcc.target/arm/pac-6.c
> @@ -1,7 +1,9 @@
> /* Check that GCC does .save and .cfi_offset directives with RA_AUTH_CODE
> pseudo hard-register. */
> /* { dg-do compile } */
> +/* { dg-require-effective-target arm_arch_v8_1m_main_ok } */
> /* { dg-require-effective-target mbranch_protection_ok } */
> -/* { dg-options "-march=armv8.1-m.main+fp -mbranch-protection=pac-ret+leaf
> -mthumb --save-temps -O0 -g" } */
> +/* { dg-options "-mbranch-protection=pac-ret+leaf --save-temps -O0 -g" } */
> +/* { dg-add-options arm_arch_v8_1m_main } */
>
> int i;
>
> diff --git a/gcc/testsuite/gcc.target/arm/pac-7.c
> b/gcc/testsuite/gcc.target/arm/pac-7.c
> index 6b4ad1450ce..dfffa78777f 100644
> --- a/gcc/testsuite/gcc.target/arm/pac-7.c
> +++ b/gcc/testsuite/gcc.target/arm/pac-7.c
> @@ -1,8 +1,10 @@
> /* Testing return address signing. */
> /* { dg-do run } */
> +/* { dg-require-effective-target arm_arch_v8_1m_main_pacbti_link } */
> /* { dg-require-effective-target mbranch_protection_ok } */
> /* { dg-require-effective-target arm_pacbti_hw } */
> -/* { dg-options "-march=armv8.1-m.main+pacbti+fp
> -mbranch-protection=pac-ret+leaf -mthumb -mfloat-abi=hard --save-temps -O0" }
> */
> +/* { dg-options "-mbranch-protection=pac-ret+leaf -mfloat-abi=hard
> --save-temps -O0" } */
> +/* { dg-add-options arm_arch_v8_1m_main_pacbti } */
>
> #include <stdlib.h>
>
> diff --git a/gcc/testsuite/gcc.target/arm/pac-8.c
> b/gcc/testsuite/gcc.target/arm/pac-8.c
> index 84208bfda4f..c1b418dd582 100644
> --- a/gcc/testsuite/gcc.target/arm/pac-8.c
> +++ b/gcc/testsuite/gcc.target/arm/pac-8.c
> @@ -1,8 +1,10 @@
> /* Testing return address signing. */
> /* { dg-do run } */
> +/* { dg-require-effective-target arm_arch_v8_1m_main_pacbti_link } */
> /* { dg-require-effective-target mbranch_protection_ok } */
> /* { dg-require-effective-target arm_pacbti_hw } */
> -/* { dg-options "-march=armv8.1-m.main+pacbti+fp
> -mbranch-protection=pac-ret+leaf -mthumb -mfloat-abi=hard --save-temps -O0" }
> */
> +/* { dg-options "-mbranch-protection=pac-ret+leaf -mfloat-abi=hard
> --save-temps -O0" } */
> +/* { dg-add-options arm_arch_v8_1m_main_pacbti } */
>
> #include <stdarg.h>
> #include <stdlib.h>
> diff --git a/gcc/testsuite/gcc.target/arm/pac-9.c
> b/gcc/testsuite/gcc.target/arm/pac-9.c
> index 588b7ffb8d2..afbddcd7d5f 100644
> --- a/gcc/testsuite/gcc.target/arm/pac-9.c
> +++ b/gcc/testsuite/gcc.target/arm/pac-9.c
> @@ -1,7 +1,9 @@
> /* Testing return address signing. */
> /* { dg-do compile } */
> +/* { dg-require-effective-target arm_arch_v8_1m_main_pacbti_ok } */
> /* { dg-require-effective-target mbranch_protection_ok } */
> -/* { dg-options "-march=armv8.1-m.main+pacbti+fp
> -mbranch-protection=pac-ret+leaf -mthumb -mfloat-abi=hard --save-temps -O0" }
> */
> +/* { dg-options "-mbranch-protection=pac-ret+leaf -mfloat-abi=hard
> --save-temps -O0" } */
> +/* { dg-add-options arm_arch_v8_1m_main_pacbti } */
>
> #include "pac.h"
>
> diff --git a/gcc/testsuite/lib/target-supports.exp
> b/gcc/testsuite/lib/target-supports.exp
> index 0c2fd83f45c..01ed55ed82f 100644
> --- a/gcc/testsuite/lib/target-supports.exp
> +++ b/gcc/testsuite/lib/target-supports.exp
> @@ -6114,7 +6114,7 @@ proc check_effective_target_arm_pacbti_hw {} {
> asm ("autg r12, lr, sp");
> asm ("bx lr");
> }
> - } "-march=armv8.1-m.main+pacbti+fp -mbranch-protection=standard -mthumb
> -mfloat-abi=hard"]
> + } "-mcpu=unset -march=armv8.1-m.main+pacbti+fp
> -mbranch-protection=standard -mthumb -mfloat-abi=hard"]
> }
>
> # Return 1 if this compilation turns on string_ops_prefer_neon on.