The assembly tests in `cmpbr.c` were failing when run with an old
version of `gas` which did not recognise the extension. Fix by gating on
the extension being supported by the assembler.

Also change `cmpbr-3.c` from `dg-do assemble` to `dg-do compile` since
it is not testing the assembled binary.

gcc/testsuite/ChangeLog:

        * gcc.target/aarch64/cmpbr-3.c: `dg-do assemble` => `dg-do compile`.
        * gcc.target/aarch64/cmpbr.c: Gate on `+cmpbr` assembler support.
---
 gcc/testsuite/gcc.target/aarch64/cmpbr-3.c | 2 +-
 gcc/testsuite/gcc.target/aarch64/cmpbr.c   | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/gcc/testsuite/gcc.target/aarch64/cmpbr-3.c 
b/gcc/testsuite/gcc.target/aarch64/cmpbr-3.c
index a4f12deef27..ab0ba481621 100644
--- a/gcc/testsuite/gcc.target/aarch64/cmpbr-3.c
+++ b/gcc/testsuite/gcc.target/aarch64/cmpbr-3.c
@@ -1,4 +1,4 @@
-/* { dg-do assemble } */
+/* { dg-do compile } */
 /* { dg-options "-O2" } */
 
 #pragma GCC target "+cmpbr"
diff --git a/gcc/testsuite/gcc.target/aarch64/cmpbr.c 
b/gcc/testsuite/gcc.target/aarch64/cmpbr.c
index 23f462f7db1..228aca7fbbd 100644
--- a/gcc/testsuite/gcc.target/aarch64/cmpbr.c
+++ b/gcc/testsuite/gcc.target/aarch64/cmpbr.c
@@ -1,6 +1,7 @@
 // Test that the instructions added by FEAT_CMPBR are emitted
 // { dg-do compile }
 // { dg-options "-march=armv9.5-a+cmpbr -O2" }
+// { dg-require-effective-target aarch64_asm_cmpbr_ok }
 // { dg-final { check-function-bodies "**" "*/" "" { target *-*-* } 
{\.L[0-9]+} } }
 
 #include <stdint.h>
-- 
2.43.0

Reply via email to