[gcc r17-2502] testsuite, aarch64: Require -mbig-endian support where it is missing.

Iain D Sandoe via Gcc-cvs <[email protected]>
Newsgroups gmane.comp.gcc.cvs
Message-ID <[email protected]>
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*-*-*] } {
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.