Ok for trunk and releases/gcc-14? Changes since v1:
- Corrected changelog entry for pac-15.c - Added a tab before all the asm instructions in the pac-*.c and bti-*.c tests - Corrected the expected number of bti instructions for bti-2.c as it previously counted the .file directive -- Some of the test cases were scanning for "bti", but it would, incorrectly, match the ".arch_extenssion pacbti". Also, keep test cases active if a supported Cortex-M core is supplied. gcc/testsuite/ChangeLog: * gcc.target/arm/bti-1.c: Enable for Cortex-M(52|55|85) and check for asm instructions starting with a tab. * gcc.target/arm/bti-2.c: Likewise. * gcc.target/arm/pac-1.c: Check for asm instructions starting with a tab. * gcc.target/arm/pac-2.c: Likewise. * gcc.target/arm/pac-3.c: Likewise. * gcc.target/arm/pac-6.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-15.c: Enable for Cortex-M(52|55|85). Signed-off-by: Torbjörn SVENSSON <torbjorn.svens...@foss.st.com> Co-authored-by: Yvan ROUX <yvan.r...@foss.st.com> --- gcc/testsuite/gcc.target/arm/bti-1.c | 4 ++-- gcc/testsuite/gcc.target/arm/bti-2.c | 4 ++-- 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-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 | 2 +- gcc/testsuite/gcc.target/arm/pac-6.c | 6 +++--- 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/gcc.target/arm/pac-sibcall.c | 2 +- 14 files changed, 27 insertions(+), 27 deletions(-) diff --git a/gcc/testsuite/gcc.target/arm/bti-1.c b/gcc/testsuite/gcc.target/arm/bti-1.c index 79dd8010d2d..70a62b5a70c 100644 --- a/gcc/testsuite/gcc.target/arm/bti-1.c +++ b/gcc/testsuite/gcc.target/arm/bti-1.c @@ -1,6 +1,6 @@ /* Check that GCC does bti instruction. */ /* { dg-do compile } */ -/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" "-mcpu=*" } } */ +/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" "-mcpu=*" } { "-mcpu=cortex-m52*" "-mcpu=cortex-m55*" "-mcpu=cortex-m85*" } } */ /* { dg-options "-march=armv8.1-m.main -mthumb -mfloat-abi=softfp -mbranch-protection=bti --save-temps" } */ int @@ -9,4 +9,4 @@ main (void) return 0; } -/* { dg-final { scan-assembler "bti" } } */ +/* { dg-final { scan-assembler "\tbti" } } */ diff --git a/gcc/testsuite/gcc.target/arm/bti-2.c b/gcc/testsuite/gcc.target/arm/bti-2.c index 33910563849..7c901d06967 100644 --- a/gcc/testsuite/gcc.target/arm/bti-2.c +++ b/gcc/testsuite/gcc.target/arm/bti-2.c @@ -1,7 +1,7 @@ /* { dg-do compile } */ /* -Os to create jump table. */ /* { dg-options "-Os" } */ -/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" "-mcpu=*" } } */ +/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" "-mcpu=*" } { "-mcpu=cortex-m52*" "-mcpu=cortex-m55*" "-mcpu=cortex-m85*" } } */ /* { dg-options "-march=armv8.1-m.main -mthumb -mfloat-abi=softfp -mbranch-protection=bti --save-temps" } */ extern int f1 (void); @@ -55,4 +55,4 @@ lab2: return 2; } -/* { dg-final { scan-assembler-times "bti" 15 } } */ +/* { dg-final { scan-assembler-times "\tbti" 14 } } */ diff --git a/gcc/testsuite/gcc.target/arm/pac-1.c b/gcc/testsuite/gcc.target/arm/pac-1.c index 9b26f62b65f..e0eea0858e0 100644 --- a/gcc/testsuite/gcc.target/arm/pac-1.c +++ b/gcc/testsuite/gcc.target/arm/pac-1.c @@ -6,6 +6,6 @@ #include "pac.h" -/* { dg-final { scan-assembler-times "pac\tip, lr, sp" 2 } } */ -/* { dg-final { scan-assembler-times "aut\tip, lr, sp" 2 } } */ +/* { dg-final { scan-assembler-times "\tpac\tip, lr, sp" 2 } } */ +/* { dg-final { scan-assembler-times "\taut\tip, lr, sp" 2 } } */ /* { dg-final { scan-assembler-not "\tbti" } } */ diff --git a/gcc/testsuite/gcc.target/arm/pac-10.c b/gcc/testsuite/gcc.target/arm/pac-10.c index a794195e8f6..6da8434aeaf 100644 --- a/gcc/testsuite/gcc.target/arm/pac-10.c +++ b/gcc/testsuite/gcc.target/arm/pac-10.c @@ -5,6 +5,6 @@ #include "pac.h" -/* { dg-final { scan-assembler "pac\tip, lr, sp" } } */ -/* { dg-final { scan-assembler "aut\tip, lr, sp" } } */ +/* { dg-final { scan-assembler "\tpac\tip, lr, sp" } } */ +/* { dg-final { scan-assembler "\taut\tip, lr, sp" } } */ /* { dg-final { scan-assembler-not "\tbti" } } */ diff --git a/gcc/testsuite/gcc.target/arm/pac-11.c b/gcc/testsuite/gcc.target/arm/pac-11.c index 37ffc93b41b..0bb727c2c80 100644 --- a/gcc/testsuite/gcc.target/arm/pac-11.c +++ b/gcc/testsuite/gcc.target/arm/pac-11.c @@ -5,6 +5,6 @@ #include "pac.h" -/* { dg-final { scan-assembler-times "pacbti\tip, lr, sp" 2 } } */ -/* { dg-final { scan-assembler-times "aut\tip, lr, sp" 2 } } */ +/* { dg-final { scan-assembler-times "\tpacbti\tip, lr, sp" 2 } } */ +/* { dg-final { scan-assembler-times "\taut\tip, lr, sp" 2 } } */ /* { dg-final { scan-assembler-not "\tbti" } } */ diff --git a/gcc/testsuite/gcc.target/arm/pac-15.c b/gcc/testsuite/gcc.target/arm/pac-15.c index e1054902955..1d6baf948bf 100644 --- a/gcc/testsuite/gcc.target/arm/pac-15.c +++ b/gcc/testsuite/gcc.target/arm/pac-15.c @@ -1,7 +1,7 @@ /* Check that GCC does .save and .cfi_offset directives with RA_AUTH_CODE pseudo hard-register. */ /* { dg-do compile } */ /* { dg-require-effective-target mbranch_protection_ok } */ -/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" "-mcpu=*" } } */ +/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" "-mcpu=*" } { "-mcpu=cortex-m52*" "-mcpu=cortex-m55*" "-mcpu=cortex-m85*" } } */ /* { dg-options "-march=armv8.1-m.main+mve+pacbti -mbranch-protection=pac-ret -mthumb -mfloat-abi=hard -fasynchronous-unwind-tables -g -O0" } */ #include "stdio.h" @@ -24,7 +24,7 @@ int main (void) } /* { dg-final { scan-assembler-times "\.pacspval" 1 } } */ -/* { dg-final { scan-assembler-times "pac ip, lr, sp" 3 } } */ +/* { dg-final { scan-assembler-times "\tpac\tip, lr, sp" 3 } } */ /* { dg-final { scan-assembler-times "\.cfi_register 143, 12" 3 } } */ /* { dg-final { scan-assembler-times "\.save {r7, ra_auth_code, lr}" 2 } } */ /* { dg-final { scan-assembler-times "\.cfi_offset 143, -8" 2 } } */ diff --git a/gcc/testsuite/gcc.target/arm/pac-2.c b/gcc/testsuite/gcc.target/arm/pac-2.c index 945ce938592..5eb1062043c 100644 --- a/gcc/testsuite/gcc.target/arm/pac-2.c +++ b/gcc/testsuite/gcc.target/arm/pac-2.c @@ -6,6 +6,6 @@ #include "pac.h" -/* { dg-final { scan-assembler "pac\tip, lr, sp" } } */ -/* { dg-final { scan-assembler "aut\tip, lr, sp" } } */ +/* { dg-final { scan-assembler "\tpac\tip, lr, sp" } } */ +/* { dg-final { scan-assembler "\taut\tip, lr, sp" } } */ /* { dg-final { scan-assembler-not "\tbti" } } */ diff --git a/gcc/testsuite/gcc.target/arm/pac-3.c b/gcc/testsuite/gcc.target/arm/pac-3.c index 47e290a5840..50453dd8ec4 100644 --- a/gcc/testsuite/gcc.target/arm/pac-3.c +++ b/gcc/testsuite/gcc.target/arm/pac-3.c @@ -6,6 +6,6 @@ #include "pac.h" -/* { dg-final { scan-assembler-times "pacbti\tip, lr, sp" 2 } } */ -/* { dg-final { scan-assembler-times "aut\tip, lr, sp" 2 } } */ +/* { dg-final { scan-assembler-times "\tpacbti\tip, lr, sp" 2 } } */ +/* { dg-final { scan-assembler-times "\taut\tip, lr, sp" 2 } } */ /* { dg-final { scan-assembler-not "\tbti" } } */ diff --git a/gcc/testsuite/gcc.target/arm/pac-4.c b/gcc/testsuite/gcc.target/arm/pac-4.c index cf915cdba50..81907079d77 100644 --- a/gcc/testsuite/gcc.target/arm/pac-4.c +++ b/gcc/testsuite/gcc.target/arm/pac-4.c @@ -5,6 +5,6 @@ #include "pac.h" -/* { dg-final { scan-assembler-not "\tbti\t" } } */ +/* { dg-final { scan-assembler-not "\tbti" } } */ /* { dg-final { scan-assembler-not "\tpac\t" } } */ /* { dg-final { scan-assembler-not "\tpacbti\t" } } */ diff --git a/gcc/testsuite/gcc.target/arm/pac-6.c b/gcc/testsuite/gcc.target/arm/pac-6.c index c5329f0ef48..a8e3067f825 100644 --- a/gcc/testsuite/gcc.target/arm/pac-6.c +++ b/gcc/testsuite/gcc.target/arm/pac-6.c @@ -13,6 +13,6 @@ int bar() return 0; } -/* { dg-final { scan-assembler "pac\tip, lr, sp" } } */ -/* { dg-final { scan-assembler "aut\tip, lr, sp" } } */ -/* { dg-final { scan-assembler-not "bti" } } */ +/* { dg-final { scan-assembler "\tpac\tip, lr, sp" } } */ +/* { dg-final { scan-assembler "\taut\tip, lr, sp" } } */ +/* { dg-final { scan-assembler-not "\tbti" } } */ diff --git a/gcc/testsuite/gcc.target/arm/pac-7.c b/gcc/testsuite/gcc.target/arm/pac-7.c index cdaebca5cfa..6b4ad1450ce 100644 --- a/gcc/testsuite/gcc.target/arm/pac-7.c +++ b/gcc/testsuite/gcc.target/arm/pac-7.c @@ -27,6 +27,6 @@ main (void) return 0; } -/* { dg-final { scan-assembler-times "pac\tip, lr, sp" 3 } } */ -/* { dg-final { scan-assembler-times "aut\tip, lr, sp" 3 } } */ +/* { dg-final { scan-assembler-times "\tpac\tip, lr, sp" 3 } } */ +/* { dg-final { scan-assembler-times "\taut\tip, lr, sp" 3 } } */ /* { dg-final { scan-assembler-not "\tbti" } } */ diff --git a/gcc/testsuite/gcc.target/arm/pac-8.c b/gcc/testsuite/gcc.target/arm/pac-8.c index 3f37dcfa5c8..84208bfda4f 100644 --- a/gcc/testsuite/gcc.target/arm/pac-8.c +++ b/gcc/testsuite/gcc.target/arm/pac-8.c @@ -29,6 +29,6 @@ int main() return 0; } -/* { dg-final { scan-assembler-times "pac\tip, lr, sp" 2 } } */ -/* { dg-final { scan-assembler-times "aut\tip, lr, sp" 2 } } */ +/* { dg-final { scan-assembler-times "\tpac\tip, lr, sp" 2 } } */ +/* { dg-final { scan-assembler-times "\taut\tip, lr, sp" 2 } } */ /* { dg-final { scan-assembler-not "\tbti" } } */ diff --git a/gcc/testsuite/gcc.target/arm/pac-9.c b/gcc/testsuite/gcc.target/arm/pac-9.c index ee2fad290b5..588b7ffb8d2 100644 --- a/gcc/testsuite/gcc.target/arm/pac-9.c +++ b/gcc/testsuite/gcc.target/arm/pac-9.c @@ -5,7 +5,7 @@ #include "pac.h" -/* { dg-final { scan-assembler-times "pac\tip, lr, sp" 2 } } */ -/* { dg-final { scan-assembler-times "aut\tip, lr, sp" 2 } } */ +/* { dg-final { scan-assembler-times "\tpac\tip, lr, sp" 2 } } */ +/* { dg-final { scan-assembler-times "\taut\tip, lr, sp" 2 } } */ /* { dg-final { scan-assembler-not "\tbti" } } */ diff --git a/gcc/testsuite/gcc.target/arm/pac-sibcall.c b/gcc/testsuite/gcc.target/arm/pac-sibcall.c index e15bd2f478d..205099d177e 100644 --- a/gcc/testsuite/gcc.target/arm/pac-sibcall.c +++ b/gcc/testsuite/gcc.target/arm/pac-sibcall.c @@ -11,4 +11,4 @@ void fail(void (*f)(int, int, int, int)) f(1, 2, 3, 4); } -/* { dg-final { scan-assembler-not "bx\tip\t@ indirect register sibling call" } } */ +/* { dg-final { scan-assembler-not "\tbx\tip\t@ indirect register sibling call" } } */ -- 2.25.1