Hi Iain,
> On 11 Aug 2026, at 11:52, Iain Sandoe <[email protected]> wrote:
>
> Tested on aarch64-linux, darwin. OK for trunk?
> thanks
> Iain
>
> --- 8< ---
>
> Not all targets have this support, add a dg-requires for cases that need
> it. Add a target supports for it and use it.
>
> gcc/testsuite/ChangeLog:
>
> * gcc.target/aarch64/inline-mem-set-pr112804.c: Require
> mabi-ilp32 support.
> * gcc.target/aarch64/pr100518.c: Likewise.
> * gcc.target/aarch64/pr113114.c: Likewise.
> * gcc.target/aarch64/pr80295.c: Likewise.
> * gcc.target/aarch64/pr94201.c: Likewise.
> * gcc.target/aarch64/pr94577.c: Likewise.
> * gcc.target/aarch64/sve/pr108603.c: Likewise.
> * lib/target-supports.exp: Add target supports for mabi=ilp32.
>
> Signed-off-by: Iain Sandoe <[email protected]>
> ---
> .../gcc.target/aarch64/inline-mem-set-pr112804.c | 1 +
> gcc/testsuite/gcc.target/aarch64/pr100518.c | 1 +
> gcc/testsuite/gcc.target/aarch64/pr113114.c | 1 +
> gcc/testsuite/gcc.target/aarch64/pr80295.c | 1 +
> gcc/testsuite/gcc.target/aarch64/pr94201.c | 1 +
> gcc/testsuite/gcc.target/aarch64/pr94577.c | 1 +
> gcc/testsuite/gcc.target/aarch64/sve/pr108603.c | 1 +
> gcc/testsuite/lib/target-supports.exp | 10 ++++++++++
> 8 files changed, 17 insertions(+)
>
> diff --git a/gcc/testsuite/gcc.target/aarch64/inline-mem-set-pr112804.c
> b/gcc/testsuite/gcc.target/aarch64/inline-mem-set-pr112804.c
> index 276c10cd0e8..058c6f88e7c 100644
> --- a/gcc/testsuite/gcc.target/aarch64/inline-mem-set-pr112804.c
> +++ b/gcc/testsuite/gcc.target/aarch64/inline-mem-set-pr112804.c
> @@ -1,4 +1,5 @@
> /* { dg-do compile } */
> +/* { dg-require-effective-target arm_mabi_ilp32 } */
> /* { dg-options "-finline-stringops -mabi=ilp32 -Wno-deprecated
> -ftrivial-auto-var-init=zero" } */
>
> short m(unsigned k) {
> diff --git a/gcc/testsuite/gcc.target/aarch64/pr100518.c
> b/gcc/testsuite/gcc.target/aarch64/pr100518.c
> index eb8d947185a..47b8000e316 100644
> --- a/gcc/testsuite/gcc.target/aarch64/pr100518.c
> +++ b/gcc/testsuite/gcc.target/aarch64/pr100518.c
> @@ -1,4 +1,5 @@
> /* { dg-do compile } */
> +/* { dg-require-effective-target arm_mabi_ilp32 } */
> /* { dg-options "-mabi=ilp32 -Wno-deprecated -mstrict-align -O2" } */
>
> int unsigned_range_min, unsigned_range_max, a11___trans_tmp_1;
> diff --git a/gcc/testsuite/gcc.target/aarch64/pr113114.c
> b/gcc/testsuite/gcc.target/aarch64/pr113114.c
> index 976e2db71bf..bbafd2fdbc7 100644
> --- a/gcc/testsuite/gcc.target/aarch64/pr113114.c
> +++ b/gcc/testsuite/gcc.target/aarch64/pr113114.c
> @@ -1,4 +1,5 @@
> /* { dg-do compile } */
> +/* { dg-require-effective-target arm_mabi_ilp32 } */
> /* { dg-options "-mabi=ilp32 -Wno-deprecated -O -mearly-ldp-fusion
> -mlate-ldp-fusion" } */
> void foo_n(double *a) {
> int i = 1;
> diff --git a/gcc/testsuite/gcc.target/aarch64/pr80295.c
> b/gcc/testsuite/gcc.target/aarch64/pr80295.c
> index c79427517d0..61847958918 100644
> --- a/gcc/testsuite/gcc.target/aarch64/pr80295.c
> +++ b/gcc/testsuite/gcc.target/aarch64/pr80295.c
> @@ -1,4 +1,5 @@
> /* { dg-do compile } */
> +/* { dg-require-effective-target arm_mabi_ilp32 } */
> /* { dg-options "-mabi=ilp32 -Wno-deprecated" } */
>
> void f (void *b)
> diff --git a/gcc/testsuite/gcc.target/aarch64/pr94201.c
> b/gcc/testsuite/gcc.target/aarch64/pr94201.c
> index cd21f7c0669..5ec1d5bb82c 100644
> --- a/gcc/testsuite/gcc.target/aarch64/pr94201.c
> +++ b/gcc/testsuite/gcc.target/aarch64/pr94201.c
> @@ -1,4 +1,5 @@
> /* { dg-do compile } */
> +/* { dg-require-effective-target arm_mabi_ilp32 } */
> /* { dg-options "-mcmodel=tiny -mabi=ilp32 -Wno-deprecated -fPIC" } */
> /* { dg-require-effective-target fpic } */
>
> diff --git a/gcc/testsuite/gcc.target/aarch64/pr94577.c
> b/gcc/testsuite/gcc.target/aarch64/pr94577.c
> index 49cb6e10aa5..2f5aae66314 100644
> --- a/gcc/testsuite/gcc.target/aarch64/pr94577.c
> +++ b/gcc/testsuite/gcc.target/aarch64/pr94577.c
> @@ -1,4 +1,5 @@
> /* { dg-do compile } */
> +/* { dg-require-effective-target arm_mabi_ilp32 } */
> /* { dg-options "-mcmodel=large -mabi=ilp32 -Wno-deprecated -fno-pie" } */
>
> void
> diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pr108603.c
> b/gcc/testsuite/gcc.target/aarch64/sve/pr108603.c
> index 18aa4cfe7f7..bf20774e7e2 100644
> --- a/gcc/testsuite/gcc.target/aarch64/sve/pr108603.c
> +++ b/gcc/testsuite/gcc.target/aarch64/sve/pr108603.c
> @@ -1,3 +1,4 @@
> +/* { dg-require-effective-target arm_mabi_ilp32 } */
> /* { dg-options "-O2 -mabi=ilp32 -Wno-deprecated -fdata-sections" } */
>
> int a[128];
> diff --git a/gcc/testsuite/lib/target-supports.exp
> b/gcc/testsuite/lib/target-supports.exp
> index 99f134e9b69..75afa807703 100644
> --- a/gcc/testsuite/lib/target-supports.exp
> +++ b/gcc/testsuite/lib/target-supports.exp
> @@ -14136,6 +14136,16 @@ proc
> check_effective_target_arm_thumb2_ok_no_arm_v8_1m_lob { } {
> return 0
> }
>
> +# Return 1 if this is an ARM target where -mabi=ilp32 can be used.
> +# The option is deprecated, but we have active tests.
> +
> +proc check_effective_target_arm_mabi_ilp32 { } {
The naming should be aarch64 rather than arm, as they’re different ports and
the arm ports doesn’t have an ilp32 concept.
Ok with the naming changed.
Thanks,
Kyrill
> + return [check_no_compiler_messages_nocache arm_mabi_ilp32 assembly {
> + int main() { return 0; }
> + } "-mabi=ilp32 -Wno-deprecated"]
> +}
> +
> +
> # Returns 1 if the target is using glibc, 0 otherwise.
>
> proc check_effective_target_glibc { } {
> --
> 2.50.1 (Apple Git-155)
>