https://gcc.gnu.org/g:c17b07eace479118410715fd3c18d7cf997511f6

commit r17-2502-gc17b07eace479118410715fd3c18d7cf997511f6
Author: Iain Sandoe <[email protected]>
Date:   Wed Jul 15 07:42:35 2026 +0100

    testsuite, aarch64: Require -mbig-endian support where it is missing.
    
    The tests here require support for big endian code generation but do
    not require a big endian host.
    
    We provide an aarch64_mbig_endian target supports check fot this an
    use it to gate the tests.
    
    gcc/testsuite/ChangeLog:
    
            * gcc.target/aarch64/and-be.c: Require big-endian support.
            * gcc.target/aarch64/fmov-1-be.c: Likewise.
            * gcc.target/aarch64/fmov-2-be.c: Likewise.
            * gcc.target/aarch64/fmov-3-be.c: Likewise.
            * gcc.target/aarch64/fmov-4-be.c: Likewise.
            * gcc.target/aarch64/fmov-5-be.c: Likewise.
            * gcc.target/aarch64/ins_bitfield_2.c: Likewise.
            * gcc.target/aarch64/ins_bitfield_4.c: Likewise.
            * gcc.target/aarch64/ins_bitfield_6.c: Likewise.
            * gcc.target/aarch64/pr124078-1.c: Likewise.
            * gcc.target/aarch64/pr62308.c: Likewise.
            * gcc.target/aarch64/pr87305.c: Likewise.
            * gcc.target/aarch64/sve/acle/general/dupq_2.c: Likewise.
            * gcc.target/aarch64/sve/acle/general/dupq_4.c: Likewise.
            * gcc.target/aarch64/sve/acle/general/dupq_6.c: Likewise.
            * gcc.target/aarch64/sve/acle/general/dupq_lane_9.c: Likewise.
            * gcc.target/aarch64/sve/pcs/args_5_be_bf16.c: Likewise.
            * gcc.target/aarch64/sve/pcs/args_5_be_f16.c: Likewise.
            * gcc.target/aarch64/sve/pcs/args_5_be_f32.c: Likewise.
            * gcc.target/aarch64/sve/pcs/args_5_be_f64.c: Likewise.
            * gcc.target/aarch64/sve/pcs/args_5_be_mf8.c: Likewise.
            * gcc.target/aarch64/sve/pcs/args_5_be_s16.c: Likewise.
            * gcc.target/aarch64/sve/pcs/args_5_be_s32.c: Likewise.
            * gcc.target/aarch64/sve/pcs/args_5_be_s64.c: Likewise.
            * gcc.target/aarch64/sve/pcs/args_5_be_s8.c: Likewise.
            * gcc.target/aarch64/sve/pcs/args_5_be_u16.c: Likewise.
            * gcc.target/aarch64/sve/pcs/args_5_be_u32.c: Likewise.
            * gcc.target/aarch64/sve/pcs/args_5_be_u64.c: Likewise.
            * gcc.target/aarch64/sve/pcs/args_5_be_u8.c: Likewise.
            * gcc.target/aarch64/sve/pcs/args_6_be_bf16.c: Likewise.
            * gcc.target/aarch64/sve/pcs/args_6_be_f16.c: Likewise.
            * gcc.target/aarch64/sve/pcs/args_6_be_f32.c: Likewise.
            * gcc.target/aarch64/sve/pcs/args_6_be_f64.c: Likewise.
            * gcc.target/aarch64/sve/pcs/args_6_be_mf8.c: Likewise.
            * gcc.target/aarch64/sve/pcs/args_6_be_s16.c: Likewise.
            * gcc.target/aarch64/sve/pcs/args_6_be_s32.c: Likewise.
            * gcc.target/aarch64/sve/pcs/args_6_be_s64.c: Likewise.
            * gcc.target/aarch64/sve/pcs/args_6_be_s8.c: Likewise.
            * gcc.target/aarch64/sve/pcs/args_6_be_u16.c: Likewise.
            * gcc.target/aarch64/sve/pcs/args_6_be_u32.c: Likewise.
            * gcc.target/aarch64/sve/pcs/args_6_be_u64.c: Likewise.
            * gcc.target/aarch64/sve/pcs/args_6_be_u8.c: Likewise.
            * gcc.target/aarch64/sve/pcs/saves_1_be_nowrap.c: Likewise.
            * gcc.target/aarch64/sve/pcs/saves_1_be_wrap.c: Likewise.
            * gcc.target/aarch64/sve/pcs/saves_2_be_nowrap.c: Likewise.
            * gcc.target/aarch64/sve/pcs/saves_2_be_wrap.c: Likewise.
            * gcc.target/aarch64/sve/pcs/saves_4_be.c: Likewise.
            * gcc.target/aarch64/sve/pcs/saves_5_be.c: Likewise.
            * gcc.target/aarch64/sve/pr88847.c: Likewise.
            * gcc.target/aarch64/sve/revb_2.c: Likewise.
            * gcc.target/aarch64/sve/revh_2.c: Likewise.
            * gcc.target/aarch64/sve/revhw_2.c: Likewise.
            * gcc.target/aarch64/sve/revw_2.c: Likewise.
            * gcc.target/aarch64/sve/struct_move_1.c: Likewise.
            * gcc.target/aarch64/sve/struct_move_2.c: Likewise.
            * gcc.target/aarch64/sve/struct_move_3.c: Likewise.
            * gcc.target/aarch64/sve/vec_init_4.c: Likewise.
            * lib/target-supports.exp: Provide aarch64_mbig_endian.
    
    gcc/ChangeLog:
    
            * doc/sourcebuild.texi: Document aarch64_mbig_endian.
    
    Signed-off-by: Iain Sandoe <[email protected]>

Diff:
---
 gcc/doc/sourcebuild.texi                                        | 2 ++
 gcc/testsuite/gcc.target/aarch64/and-be.c                       | 1 +
 gcc/testsuite/gcc.target/aarch64/fmov-1-be.c                    | 1 +
 gcc/testsuite/gcc.target/aarch64/fmov-2-be.c                    | 1 +
 gcc/testsuite/gcc.target/aarch64/fmov-3-be.c                    | 1 +
 gcc/testsuite/gcc.target/aarch64/fmov-4-be.c                    | 1 +
 gcc/testsuite/gcc.target/aarch64/fmov-5-be.c                    | 1 +
 gcc/testsuite/gcc.target/aarch64/ins_bitfield_2.c               | 1 +
 gcc/testsuite/gcc.target/aarch64/ins_bitfield_4.c               | 1 +
 gcc/testsuite/gcc.target/aarch64/ins_bitfield_6.c               | 1 +
 gcc/testsuite/gcc.target/aarch64/pr124078-1.c                   | 1 +
 gcc/testsuite/gcc.target/aarch64/pr62308.c                      | 1 +
 gcc/testsuite/gcc.target/aarch64/pr87305.c                      | 1 +
 gcc/testsuite/gcc.target/aarch64/sve/acle/general/dupq_2.c      | 1 +
 gcc/testsuite/gcc.target/aarch64/sve/acle/general/dupq_4.c      | 1 +
 gcc/testsuite/gcc.target/aarch64/sve/acle/general/dupq_6.c      | 1 +
 gcc/testsuite/gcc.target/aarch64/sve/acle/general/dupq_lane_9.c | 1 +
 gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_bf16.c       | 1 +
 gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_f16.c        | 1 +
 gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_f32.c        | 1 +
 gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_f64.c        | 1 +
 gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_mf8.c        | 1 +
 gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_s16.c        | 1 +
 gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_s32.c        | 1 +
 gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_s64.c        | 1 +
 gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_s8.c         | 1 +
 gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_u16.c        | 1 +
 gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_u32.c        | 1 +
 gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_u64.c        | 1 +
 gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_u8.c         | 1 +
 gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_bf16.c       | 1 +
 gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_f16.c        | 1 +
 gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_f32.c        | 1 +
 gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_f64.c        | 1 +
 gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_mf8.c        | 1 +
 gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_s16.c        | 1 +
 gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_s32.c        | 1 +
 gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_s64.c        | 1 +
 gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_s8.c         | 1 +
 gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_u16.c        | 1 +
 gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_u32.c        | 1 +
 gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_u64.c        | 1 +
 gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_u8.c         | 1 +
 gcc/testsuite/gcc.target/aarch64/sve/pcs/saves_1_be_nowrap.c    | 1 +
 gcc/testsuite/gcc.target/aarch64/sve/pcs/saves_1_be_wrap.c      | 1 +
 gcc/testsuite/gcc.target/aarch64/sve/pcs/saves_2_be_nowrap.c    | 1 +
 gcc/testsuite/gcc.target/aarch64/sve/pcs/saves_2_be_wrap.c      | 1 +
 gcc/testsuite/gcc.target/aarch64/sve/pcs/saves_4_be.c           | 1 +
 gcc/testsuite/gcc.target/aarch64/sve/pcs/saves_5_be.c           | 1 +
 gcc/testsuite/gcc.target/aarch64/sve/pr88847.c                  | 1 +
 gcc/testsuite/gcc.target/aarch64/sve/revb_2.c                   | 1 +
 gcc/testsuite/gcc.target/aarch64/sve/revh_2.c                   | 1 +
 gcc/testsuite/gcc.target/aarch64/sve/revhw_2.c                  | 1 +
 gcc/testsuite/gcc.target/aarch64/sve/revw_2.c                   | 1 +
 gcc/testsuite/gcc.target/aarch64/sve/struct_move_1.c            | 1 +
 gcc/testsuite/gcc.target/aarch64/sve/struct_move_2.c            | 1 +
 gcc/testsuite/gcc.target/aarch64/sve/struct_move_3.c            | 1 +
 gcc/testsuite/gcc.target/aarch64/sve/vec_init_4.c               | 1 +
 gcc/testsuite/lib/target-supports.exp                           | 9 +++++++++
 59 files changed, 68 insertions(+)

diff --git a/gcc/doc/sourcebuild.texi b/gcc/doc/sourcebuild.texi
index 31265ddd28b3..87dc9b5637dd 100644
--- a/gcc/doc/sourcebuild.texi
+++ b/gcc/doc/sourcebuild.texi
@@ -2400,6 +2400,8 @@ AArch64 target which generates instruction sequences for 
large memory model.
 AArch64 target which generates instruction sequences for little endian.
 @item aarch64_big_endian
 AArch64 target which generates instruction sequences for big endian.
+@item aarch64_mbig_endian
+AArch64 target supporting big endian code generation with @code{-mbig-endian}.
 @item aarch64_small_fpic
 Binutils installed on test system supports relocation types required by -fpic
 for AArch64 small memory model.
diff --git a/gcc/testsuite/gcc.target/aarch64/and-be.c 
b/gcc/testsuite/gcc.target/aarch64/and-be.c
index 7457dd5e35cf..158f71d0e7cc 100644
--- a/gcc/testsuite/gcc.target/aarch64/and-be.c
+++ b/gcc/testsuite/gcc.target/aarch64/and-be.c
@@ -1,4 +1,5 @@
 /* { dg-do compile } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O2 -mbig-endian" } */
 /* { dg-final { check-function-bodies "**" "" "" } } */
 
diff --git a/gcc/testsuite/gcc.target/aarch64/fmov-1-be.c 
b/gcc/testsuite/gcc.target/aarch64/fmov-1-be.c
index 4227c677248d..0da5dfbc50b2 100644
--- a/gcc/testsuite/gcc.target/aarch64/fmov-1-be.c
+++ b/gcc/testsuite/gcc.target/aarch64/fmov-1-be.c
@@ -1,4 +1,5 @@
 /* { dg-do compile } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O2 -mbig-endian" } */
 /* { dg-final { check-function-bodies "**" "" "" } } */
 
diff --git a/gcc/testsuite/gcc.target/aarch64/fmov-2-be.c 
b/gcc/testsuite/gcc.target/aarch64/fmov-2-be.c
index 1e38066b4cf2..c8fd5fae26ab 100644
--- a/gcc/testsuite/gcc.target/aarch64/fmov-2-be.c
+++ b/gcc/testsuite/gcc.target/aarch64/fmov-2-be.c
@@ -1,4 +1,5 @@
 /* { dg-do compile } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O2 -mbig-endian" } */
 /* { dg-final { check-function-bodies "**" "" "" } } */
 
diff --git a/gcc/testsuite/gcc.target/aarch64/fmov-3-be.c 
b/gcc/testsuite/gcc.target/aarch64/fmov-3-be.c
index 0bddd96ea000..b955bd70ac19 100644
--- a/gcc/testsuite/gcc.target/aarch64/fmov-3-be.c
+++ b/gcc/testsuite/gcc.target/aarch64/fmov-3-be.c
@@ -1,4 +1,5 @@
 /* { dg-do compile } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O2 -mbig-endian" } */
 /* { dg-final { check-function-bodies "**" "" "" } } */
 
diff --git a/gcc/testsuite/gcc.target/aarch64/fmov-4-be.c 
b/gcc/testsuite/gcc.target/aarch64/fmov-4-be.c
index 58212ef435ef..337c358b2b26 100644
--- a/gcc/testsuite/gcc.target/aarch64/fmov-4-be.c
+++ b/gcc/testsuite/gcc.target/aarch64/fmov-4-be.c
@@ -1,4 +1,5 @@
 /* { dg-do compile } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O2 -mbig-endian" } */
 /* { dg-final { check-function-bodies "**" "" "" } } */
 
diff --git a/gcc/testsuite/gcc.target/aarch64/fmov-5-be.c 
b/gcc/testsuite/gcc.target/aarch64/fmov-5-be.c
index 0fcefa7c9489..f55e48e754c6 100644
--- a/gcc/testsuite/gcc.target/aarch64/fmov-5-be.c
+++ b/gcc/testsuite/gcc.target/aarch64/fmov-5-be.c
@@ -1,4 +1,5 @@
 /* { dg-do compile } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O2 -mbig-endian" } */
 /* { dg-final { check-function-bodies "**" "" "" } } */
 
diff --git a/gcc/testsuite/gcc.target/aarch64/ins_bitfield_2.c 
b/gcc/testsuite/gcc.target/aarch64/ins_bitfield_2.c
index 152418889fac..56ae2daf4b2c 100644
--- a/gcc/testsuite/gcc.target/aarch64/ins_bitfield_2.c
+++ b/gcc/testsuite/gcc.target/aarch64/ins_bitfield_2.c
@@ -1,4 +1,5 @@
 /* { dg-do assemble } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O2 -mbig-endian --save-temps" } */
 /* { dg-final { check-function-bodies "**" "" "" } } */
 
diff --git a/gcc/testsuite/gcc.target/aarch64/ins_bitfield_4.c 
b/gcc/testsuite/gcc.target/aarch64/ins_bitfield_4.c
index 98e25c86959c..b0eec5201320 100644
--- a/gcc/testsuite/gcc.target/aarch64/ins_bitfield_4.c
+++ b/gcc/testsuite/gcc.target/aarch64/ins_bitfield_4.c
@@ -1,4 +1,5 @@
 /* { dg-do assemble } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O2 -mbig-endian --save-temps" } */
 /* { dg-final { check-function-bodies "**" "" "" { target lp64 } } } */
 
diff --git a/gcc/testsuite/gcc.target/aarch64/ins_bitfield_6.c 
b/gcc/testsuite/gcc.target/aarch64/ins_bitfield_6.c
index cb8af6b0623d..13f42ef95a19 100644
--- a/gcc/testsuite/gcc.target/aarch64/ins_bitfield_6.c
+++ b/gcc/testsuite/gcc.target/aarch64/ins_bitfield_6.c
@@ -1,4 +1,5 @@
 /* { dg-do assemble } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O2 -mbig-endian --save-temps" } */
 /* { dg-final { check-function-bodies "**" "" "" } } */
 
diff --git a/gcc/testsuite/gcc.target/aarch64/pr124078-1.c 
b/gcc/testsuite/gcc.target/aarch64/pr124078-1.c
index fa6f6bccacbb..8cdb7188279e 100644
--- a/gcc/testsuite/gcc.target/aarch64/pr124078-1.c
+++ b/gcc/testsuite/gcc.target/aarch64/pr124078-1.c
@@ -1,4 +1,5 @@
 /* { dg-do compile } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O1 -mbig-endian" } */
 
 /* PR rtl-optimization/124078 */
diff --git a/gcc/testsuite/gcc.target/aarch64/pr62308.c 
b/gcc/testsuite/gcc.target/aarch64/pr62308.c
index 1cf6e212dcac..97306e8c3e52 100644
--- a/gcc/testsuite/gcc.target/aarch64/pr62308.c
+++ b/gcc/testsuite/gcc.target/aarch64/pr62308.c
@@ -1,4 +1,5 @@
 /* { dg-do compile } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-mbig-endian" } */
 
 typedef int __attribute__((vector_size(16))) v4si;
diff --git a/gcc/testsuite/gcc.target/aarch64/pr87305.c 
b/gcc/testsuite/gcc.target/aarch64/pr87305.c
index 7a3e41820d62..a800e6694201 100644
--- a/gcc/testsuite/gcc.target/aarch64/pr87305.c
+++ b/gcc/testsuite/gcc.target/aarch64/pr87305.c
@@ -1,4 +1,5 @@
 /* { dg-do compile } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-fpermissive -Ofast -mbig-endian -w" } */
 
 int cc;
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/general/dupq_2.c 
b/gcc/testsuite/gcc.target/aarch64/sve/acle/general/dupq_2.c
index 13ebb9fd6fee..9de14ee46626 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/general/dupq_2.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/general/dupq_2.c
@@ -1,4 +1,5 @@
 /* { dg-do compile } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O2 -mbig-endian" } */
 
 /* To avoid needing big-endian header files.  */
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/general/dupq_4.c 
b/gcc/testsuite/gcc.target/aarch64/sve/acle/general/dupq_4.c
index 13d27e2781d1..223e88247426 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/general/dupq_4.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/general/dupq_4.c
@@ -1,4 +1,5 @@
 /* { dg-do compile } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O2 -mbig-endian" } */
 
 /* To avoid needing big-endian header files.  */
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/general/dupq_6.c 
b/gcc/testsuite/gcc.target/aarch64/sve/acle/general/dupq_6.c
index 20e692118f9a..88b34dbd5643 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/general/dupq_6.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/general/dupq_6.c
@@ -1,4 +1,5 @@
 /* { dg-do compile } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O2 -mbig-endian" } */
 
 /* To avoid needing big-endian header files.  */
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/general/dupq_lane_9.c 
b/gcc/testsuite/gcc.target/aarch64/sve/acle/general/dupq_lane_9.c
index e3f352bb8c2d..6cfaca65528c 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/general/dupq_lane_9.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/general/dupq_lane_9.c
@@ -1,3 +1,4 @@
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O2 -mbig-endian" } */
 
 #pragma GCC aarch64 "arm_sve.h"
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_bf16.c 
b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_bf16.c
index e5998ae488d1..a152078f3871 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_bf16.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_bf16.c
@@ -1,4 +1,5 @@
 /* { dg-do compile { target lp64 } } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O -mbig-endian -fno-stack-clash-protection -g" } */
 /* { dg-final { check-function-bodies "**" "" } } */
 
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_f16.c 
b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_f16.c
index 707b7be42489..9b85fe0d7014 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_f16.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_f16.c
@@ -1,4 +1,5 @@
 /* { dg-do compile { target lp64 } } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O -mbig-endian -fno-stack-clash-protection -g" } */
 /* { dg-final { check-function-bodies "**" "" } } */
 
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_f32.c 
b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_f32.c
index 19e422fab17a..dcb1ed5958e9 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_f32.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_f32.c
@@ -1,4 +1,5 @@
 /* { dg-do compile { target lp64 } } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O -mbig-endian -fno-stack-clash-protection -g" } */
 /* { dg-final { check-function-bodies "**" "" } } */
 
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_f64.c 
b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_f64.c
index 1c072c01d393..f300db8f4155 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_f64.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_f64.c
@@ -1,4 +1,5 @@
 /* { dg-do compile { target lp64 } } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O -mbig-endian -fno-stack-clash-protection -g" } */
 /* { dg-final { check-function-bodies "**" "" } } */
 
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_mf8.c 
b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_mf8.c
index 3bd18a923939..b8cdf94707bf 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_mf8.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_mf8.c
@@ -1,4 +1,5 @@
 /* { dg-do compile { target lp64 } } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O -mbig-endian -fno-stack-clash-protection -g" } */
 /* { dg-final { check-function-bodies "**" "" } } */
 
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_s16.c 
b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_s16.c
index 3b486f9b767e..8623df3aba6f 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_s16.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_s16.c
@@ -1,4 +1,5 @@
 /* { dg-do compile { target lp64 } } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O -mbig-endian -fno-stack-clash-protection -g" } */
 /* { dg-final { check-function-bodies "**" "" } } */
 
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_s32.c 
b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_s32.c
index 3b3d72c23108..bdf6e217867c 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_s32.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_s32.c
@@ -1,4 +1,5 @@
 /* { dg-do compile { target lp64 } } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O -mbig-endian -fno-stack-clash-protection -g" } */
 /* { dg-final { check-function-bodies "**" "" } } */
 
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_s64.c 
b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_s64.c
index 563465838249..5817d4fb4dc7 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_s64.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_s64.c
@@ -1,4 +1,5 @@
 /* { dg-do compile { target lp64 } } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O -mbig-endian -fno-stack-clash-protection -g" } */
 /* { dg-final { check-function-bodies "**" "" } } */
 
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_s8.c 
b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_s8.c
index 12fc2db996a1..d38c55b6eee0 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_s8.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_s8.c
@@ -1,4 +1,5 @@
 /* { dg-do compile { target lp64 } } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O -mbig-endian -fno-stack-clash-protection -g" } */
 /* { dg-final { check-function-bodies "**" "" } } */
 
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_u16.c 
b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_u16.c
index b18a825dc24d..ebf338399294 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_u16.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_u16.c
@@ -1,4 +1,5 @@
 /* { dg-do compile { target lp64 } } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O -mbig-endian -fno-stack-clash-protection -g" } */
 /* { dg-final { check-function-bodies "**" "" } } */
 
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_u32.c 
b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_u32.c
index b69efcad70df..f8d437c88ba9 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_u32.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_u32.c
@@ -1,4 +1,5 @@
 /* { dg-do compile { target lp64 } } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O -mbig-endian -fno-stack-clash-protection -g" } */
 /* { dg-final { check-function-bodies "**" "" } } */
 
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_u64.c 
b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_u64.c
index b06d3a87ca24..4895ba8f831b 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_u64.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_u64.c
@@ -1,4 +1,5 @@
 /* { dg-do compile { target lp64 } } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O -mbig-endian -fno-stack-clash-protection -g" } */
 /* { dg-final { check-function-bodies "**" "" } } */
 
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_u8.c 
b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_u8.c
index a744278f2876..7833ce5b37b4 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_u8.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_5_be_u8.c
@@ -1,4 +1,5 @@
 /* { dg-do compile { target lp64 } } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O -mbig-endian -fno-stack-clash-protection -g" } */
 /* { dg-final { check-function-bodies "**" "" } } */
 
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_bf16.c 
b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_bf16.c
index 5f741ae9174c..2b975664165c 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_bf16.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_bf16.c
@@ -1,4 +1,5 @@
 /* { dg-do compile { target lp64 } } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O -mbig-endian -fno-stack-clash-protection 
-fno-cprop-registers -fdisable-rtl-combine -g" } */
 /* { dg-final { check-function-bodies "**" "" } } */
 
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_f16.c 
b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_f16.c
index 690426807cd8..9e8a4bc92853 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_f16.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_f16.c
@@ -1,4 +1,5 @@
 /* { dg-do compile { target lp64 } } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O -mbig-endian -fno-stack-clash-protection 
-fno-cprop-registers -fdisable-rtl-combine -g" } */
 /* { dg-final { check-function-bodies "**" "" } } */
 
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_f32.c 
b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_f32.c
index 313caa9e3c8b..3e1ae46a133c 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_f32.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_f32.c
@@ -1,4 +1,5 @@
 /* { dg-do compile { target lp64 } } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O -mbig-endian -fno-stack-clash-protection 
-fno-cprop-registers -fdisable-rtl-combine -g" } */
 /* { dg-final { check-function-bodies "**" "" } } */
 
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_f64.c 
b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_f64.c
index 69a49d4aee39..4940c08bf11f 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_f64.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_f64.c
@@ -1,4 +1,5 @@
 /* { dg-do compile { target lp64 } } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O -mbig-endian -fno-stack-clash-protection 
-fno-cprop-registers -fdisable-rtl-combine -g" } */
 /* { dg-final { check-function-bodies "**" "" } } */
 
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_mf8.c 
b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_mf8.c
index 80af390b944c..0dec0d409fc6 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_mf8.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_mf8.c
@@ -1,4 +1,5 @@
 /* { dg-do compile { target lp64 } } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O -mbig-endian -fno-stack-clash-protection 
-fno-cprop-registers -fdisable-rtl-combine -g" } */
 /* { dg-final { check-function-bodies "**" "" } } */
 
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_s16.c 
b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_s16.c
index c747d60395ae..72f2b471fe9a 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_s16.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_s16.c
@@ -1,4 +1,5 @@
 /* { dg-do compile { target lp64 } } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O -mbig-endian -fno-stack-clash-protection 
-fno-cprop-registers -fdisable-rtl-combine -g" } */
 /* { dg-final { check-function-bodies "**" "" } } */
 
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_s32.c 
b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_s32.c
index f3bdf9405870..b91b353f3f5f 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_s32.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_s32.c
@@ -1,4 +1,5 @@
 /* { dg-do compile { target lp64 } } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O -mbig-endian -fno-stack-clash-protection 
-fno-cprop-registers -fdisable-rtl-combine -g" } */
 /* { dg-final { check-function-bodies "**" "" } } */
 
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_s64.c 
b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_s64.c
index 013691c56101..1925ada38f95 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_s64.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_s64.c
@@ -1,4 +1,5 @@
 /* { dg-do compile { target lp64 } } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O -mbig-endian -fno-stack-clash-protection 
-fno-cprop-registers -fdisable-rtl-combine -g" } */
 /* { dg-final { check-function-bodies "**" "" } } */
 
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_s8.c 
b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_s8.c
index d4d593ca0bcb..37feb289e03f 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_s8.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_s8.c
@@ -1,4 +1,5 @@
 /* { dg-do compile { target lp64 } } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O -mbig-endian -fno-stack-clash-protection 
-fno-cprop-registers -fdisable-rtl-combine -g" } */
 /* { dg-final { check-function-bodies "**" "" } } */
 
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_u16.c 
b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_u16.c
index 04f16d5a0627..db749e0a7081 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_u16.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_u16.c
@@ -1,4 +1,5 @@
 /* { dg-do compile { target lp64 } } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O -mbig-endian -fno-stack-clash-protection 
-fno-cprop-registers -fdisable-rtl-combine -g" } */
 /* { dg-final { check-function-bodies "**" "" } } */
 
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_u32.c 
b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_u32.c
index 73b030692847..9875638b6482 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_u32.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_u32.c
@@ -1,4 +1,5 @@
 /* { dg-do compile { target lp64 } } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O -mbig-endian -fno-stack-clash-protection 
-fno-cprop-registers -fdisable-rtl-combine -g" } */
 /* { dg-final { check-function-bodies "**" "" } } */
 
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_u64.c 
b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_u64.c
index 9edbfeb49ca6..0652b4773d0f 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_u64.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_u64.c
@@ -1,4 +1,5 @@
 /* { dg-do compile { target lp64 } } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O -mbig-endian -fno-stack-clash-protection 
-fno-cprop-registers -fdisable-rtl-combine -g" } */
 /* { dg-final { check-function-bodies "**" "" } } */
 
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_u8.c 
b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_u8.c
index d2bef6a46d86..3543ad085777 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_u8.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/pcs/args_6_be_u8.c
@@ -1,4 +1,5 @@
 /* { dg-do compile { target lp64 } } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O -mbig-endian -fno-stack-clash-protection 
-fno-cprop-registers -fdisable-rtl-combine -g" } */
 /* { dg-final { check-function-bodies "**" "" } } */
 
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pcs/saves_1_be_nowrap.c 
b/gcc/testsuite/gcc.target/aarch64/sve/pcs/saves_1_be_nowrap.c
index d94e26e11e25..38510727f8e2 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/pcs/saves_1_be_nowrap.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/pcs/saves_1_be_nowrap.c
@@ -1,4 +1,5 @@
 /* { dg-do compile } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O -mbig-endian -fno-shrink-wrap -fno-stack-clash-protection 
-g" } */
 /* { dg-final { check-function-bodies "**" "" } } */
 
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pcs/saves_1_be_wrap.c 
b/gcc/testsuite/gcc.target/aarch64/sve/pcs/saves_1_be_wrap.c
index a895272e8263..56503764f1b8 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/pcs/saves_1_be_wrap.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/pcs/saves_1_be_wrap.c
@@ -1,4 +1,5 @@
 /* { dg-do compile } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O -mbig-endian -fshrink-wrap -fno-stack-clash-protection -g" 
} */
 /* { dg-final { check-function-bodies "**" "" } } */
 
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pcs/saves_2_be_nowrap.c 
b/gcc/testsuite/gcc.target/aarch64/sve/pcs/saves_2_be_nowrap.c
index f9532d3ca7fc..1c0dcaedd1c1 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/pcs/saves_2_be_nowrap.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/pcs/saves_2_be_nowrap.c
@@ -1,4 +1,5 @@
 /* { dg-do compile } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O -mbig-endian -fno-shrink-wrap -fno-stack-clash-protection 
-g" } */
 /* { dg-final { check-function-bodies "**" "" "" { target lp64 } } } */
 
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pcs/saves_2_be_wrap.c 
b/gcc/testsuite/gcc.target/aarch64/sve/pcs/saves_2_be_wrap.c
index bbc4f84ec9f2..d11ec80a6cae 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/pcs/saves_2_be_wrap.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/pcs/saves_2_be_wrap.c
@@ -1,4 +1,5 @@
 /* { dg-do compile } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O -mbig-endian -fshrink-wrap -fno-stack-clash-protection -g" 
} */
 /* { dg-final { check-function-bodies "**" "" "" { target lp64 } } } */
 
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pcs/saves_4_be.c 
b/gcc/testsuite/gcc.target/aarch64/sve/pcs/saves_4_be.c
index 38a414cb4bd2..4b88e9f63049 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/pcs/saves_4_be.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/pcs/saves_4_be.c
@@ -1,4 +1,5 @@
 /* { dg-do compile } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O -mbig-endian -fno-stack-clash-protection -g" } */
 /* { dg-final { check-function-bodies "**" "" "" { target lp64 } } } */
 
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pcs/saves_5_be.c 
b/gcc/testsuite/gcc.target/aarch64/sve/pcs/saves_5_be.c
index cce9cd82df32..8aa93face019 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/pcs/saves_5_be.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/pcs/saves_5_be.c
@@ -1,4 +1,5 @@
 /* { dg-do compile } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O -mbig-endian -fno-stack-clash-protection -g" } */
 /* { dg-final { check-function-bodies "**" "" } } */
 
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pr88847.c 
b/gcc/testsuite/gcc.target/aarch64/sve/pr88847.c
index b7504add9a9f..44d667c92313 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/pr88847.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/pr88847.c
@@ -1,4 +1,5 @@
 /* { dg-do assemble { target aarch64_asm_sve_ok } } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-additional-options "-O0 -msve-vector-bits=256 -mbig-endian 
--save-temps" } */
 
 typedef struct _b {
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/revb_2.c 
b/gcc/testsuite/gcc.target/aarch64/sve/revb_2.c
index 389739cc85d6..4b46c61532b5 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/revb_2.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/revb_2.c
@@ -1,4 +1,5 @@
 /* { dg-do assemble { target aarch64_asm_sve_ok } } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O -msve-vector-bits=256 --save-temps -mbig-endian" } */
 
 #include "revb_1.c"
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/revh_2.c 
b/gcc/testsuite/gcc.target/aarch64/sve/revh_2.c
index e821b64027e2..93c0d706786d 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/revh_2.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/revh_2.c
@@ -1,4 +1,5 @@
 /* { dg-do assemble { target aarch64_asm_sve_ok } } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O -msve-vector-bits=256 --save-temps -mbig-endian" } */
 
 #include "revh_1.c"
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/revhw_2.c 
b/gcc/testsuite/gcc.target/aarch64/sve/revhw_2.c
index 7634d01b2c42..189b5f4a6d7d 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/revhw_2.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/revhw_2.c
@@ -1,4 +1,5 @@
 /* { dg-do assemble { target aarch64_asm_sve_ok } } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O -msve-vector-bits=2048 -mbig-endian --save-temps" } */
 /* { dg-final { check-function-bodies "**" "" } } */
 
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/revw_2.c 
b/gcc/testsuite/gcc.target/aarch64/sve/revw_2.c
index 17243c05c5e3..55dfce3b4178 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/revw_2.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/revw_2.c
@@ -1,4 +1,5 @@
 /* { dg-do assemble { target aarch64_asm_sve_ok } } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O -msve-vector-bits=256 --save-temps -mbig-endian" } */
 
 #include "revw_1.c"
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/struct_move_1.c 
b/gcc/testsuite/gcc.target/aarch64/sve/struct_move_1.c
index 16e48bef0446..d25edd0a5173 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/struct_move_1.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/struct_move_1.c
@@ -1,4 +1,5 @@
 /* { dg-do assemble { target aarch64_asm_sve_ok } } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O -msve-vector-bits=256 -mbig-endian --save-temps" } */
 
 typedef char vnx16qi __attribute__((vector_size(32)));
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/struct_move_2.c 
b/gcc/testsuite/gcc.target/aarch64/sve/struct_move_2.c
index 6041f2a2a49a..b52d13c4d13f 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/struct_move_2.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/struct_move_2.c
@@ -1,4 +1,5 @@
 /* { dg-do assemble { target aarch64_asm_sve_ok } } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O -msve-vector-bits=256 -mbig-endian --save-temps" } */
 
 typedef char vnx16qi __attribute__((vector_size(32)));
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/struct_move_3.c 
b/gcc/testsuite/gcc.target/aarch64/sve/struct_move_3.c
index d6092e791d85..55bfe037de74 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/struct_move_3.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/struct_move_3.c
@@ -1,4 +1,5 @@
 /* { dg-do assemble { target aarch64_asm_sve_ok } } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O -msve-vector-bits=256 -mbig-endian --save-temps" } */
 
 typedef char vnx16qi __attribute__((vector_size(32)));
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/vec_init_4.c 
b/gcc/testsuite/gcc.target/aarch64/sve/vec_init_4.c
index 0681d9591010..3a6b51272e99 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/vec_init_4.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/vec_init_4.c
@@ -1,4 +1,5 @@
 /* { dg-do compile } */
+/* { dg-require-effective-target aarch64_mbig_endian } */
 /* { dg-options "-O2 -mbig-endian" } */
 /* { dg-final { check-function-bodies "**" "" "" } } */
 
diff --git a/gcc/testsuite/lib/target-supports.exp 
b/gcc/testsuite/lib/target-supports.exp
index 6a1e1547335b..4e17b61fdb66 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -5083,6 +5083,15 @@ proc check_effective_target_aarch64_big_endian { } {
     }]
 }
 
+# Return 1 if this is a AArch64 target supporting big endian code-gen
+proc check_effective_target_aarch64_mbig_endian { } {
+    return [check_no_compiler_messages aarch64_mbig_endian assembly {
+       #if !defined(__aarch64__) || !defined(__AARCH64EB__)
+       #error !__aarch64__ || !__AARCH64EB__
+       #endif
+    } "-mbig-endian" ]
+}
+
 # Return 1 if this is a AArch64 target supporting little endian
 proc check_effective_target_aarch64_little_endian { } {
     if { ![istarget aarch64*-*-*] } {

Reply via email to