On Fri, Jul 17, 2026 at 04:30:49PM +0100, Iain Sandoe wrote:
> Hi Alice,
> 
> >Since the affected tests all unconditionally add '-mbigendian', I think it
> >would more efficient to just add an aarch64_mbig_endian instead, rather than
> >recomputing the target check each time.
> 
> So revised to do this and retested on aarch64-linux/darwin, OK for trunk
> now?
> thanks
> Iain

Looks good to me.

Alice

> 
> --- 8< ---
> 
> 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 for this and
> 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]>
> ---
>  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.target/aarch64/sve/acle/general/dupq_2.c         | 1 +
>  .../gcc.target/aarch64/sve/acle/general/dupq_4.c         | 1 +
>  .../gcc.target/aarch64/sve/acle/general/dupq_6.c         | 1 +
>  .../gcc.target/aarch64/sve/acle/general/dupq_lane_9.c    | 1 +
>  .../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.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.target/aarch64/sve/pcs/saves_1_be_nowrap.c       | 1 +
>  .../gcc.target/aarch64/sve/pcs/saves_1_be_wrap.c         | 1 +
>  .../gcc.target/aarch64/sve/pcs/saves_2_be_nowrap.c       | 1 +
>  .../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 0e08ef5e645..29b10a55e0d 100644
> --- a/gcc/doc/sourcebuild.texi
> +++ b/gcc/doc/sourcebuild.texi
> @@ -2398,6 +2398,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 7457dd5e35c..158f71d0e7c 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 4227c677248..0da5dfbc50b 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 1e38066b4cf..c8fd5fae26a 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 0bddd96ea00..b955bd70ac1 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 58212ef435e..337c358b2b2 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 0fcefa7c948..f55e48e754c 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 152418889fa..56ae2daf4b2 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 98e25c86959..b0eec520132 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 cb8af6b0623..13f42ef95a1 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 fa6f6bccacb..8cdb7188279 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 1cf6e212dca..97306e8c3e5 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 7a3e41820d6..a800e669420 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 13ebb9fd6fe..9de14ee4662 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 13d27e2781d..223e8824742 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 20e692118f9..88b34dbd564 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 e3f352bb8c2..6cfaca65528 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 e5998ae488d..a152078f387 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 707b7be4248..9b85fe0d701 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 19e422fab17..dcb1ed5958e 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 1c072c01d39..f300db8f415 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 3bd18a92393..b8cdf94707b 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 3b486f9b767..8623df3aba6 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 3b3d72c2310..bdf6e217867 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 56346583824..5817d4fb4dc 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 12fc2db996a..d38c55b6eee 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 b18a825dc24..ebf33839929 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 b69efcad70d..f8d437c88ba 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 b06d3a87ca2..4895ba8f831 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 a744278f287..7833ce5b37b 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 5f741ae9174..2b975664165 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 690426807cd..9e8a4bc9285 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 313caa9e3c8..3e1ae46a133 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 69a49d4aee3..4940c08bf11 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 80af390b944..0dec0d409fc 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 c747d60395a..72f2b471fe9 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 f3bdf940587..b91b353f3f5 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 013691c5610..1925ada38f9 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 d4d593ca0bc..37feb289e03 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 04f16d5a062..db749e0a708 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 73b03069284..9875638b648 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 9edbfeb49ca..0652b4773d0 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 d2bef6a46d8..3543ad08577 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 d94e26e11e2..38510727f8e 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 a895272e826..56503764f1b 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 f9532d3ca7f..1c0dcaedd1c 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 bbc4f84ec9f..d11ec80a6ca 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 38a414cb4bd..4b88e9f6304 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 cce9cd82df3..8aa93face01 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 b7504add9a9..44d667c9231 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 389739cc85d..4b46c61532b 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 e821b64027e..93c0d706786 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 7634d01b2c4..189b5f4a6d7 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 17243c05c5e..55dfce3b417 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 16e48bef044..d25edd0a517 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 6041f2a2a49..b52d13c4d13 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 d6092e791d8..55bfe037de7 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 0681d959101..3a6b51272e9 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 edd1290bd9e..61104e950a9 100644
> --- a/gcc/testsuite/lib/target-supports.exp
> +++ b/gcc/testsuite/lib/target-supports.exp
> @@ -5058,6 +5058,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*-*-*] } {
> -- 
> 2.50.1 (Apple Git-155)
> 

Reply via email to