On Mon, Mar 09, 2026 at 04:12:18PM +0000, Alice Carlotti wrote:
> The function body checks in sme-shrinkwrap.c were unresolved due to a
> missing assembly output file when building an executable.
>
> The executable test was miscompiled due to a combination of PR 124416
> and a misplaced [[gnu::noipa]].
>
>
> Committed as obvious.
And now backported to gcc-14/gcc-15 as well.
>
> gcc/testsuite/ChangeLog:
>
> * gcc.target/aarch64/sme/sme-shrinkwrap.c: Add -save-temp to
> dg-options, and move [[gnu::noipa]] to callee.
>
>
> diff --git a/gcc/testsuite/gcc.target/aarch64/sme/sme-shrinkwrap.c
> b/gcc/testsuite/gcc.target/aarch64/sme/sme-shrinkwrap.c
> index
> b8dfd5f92f62f048ce14b9e2196d325e33cf5c20..debce352e98e26d288aecef6c21b9a2a6a54b375
> 100644
> --- a/gcc/testsuite/gcc.target/aarch64/sme/sme-shrinkwrap.c
> +++ b/gcc/testsuite/gcc.target/aarch64/sme/sme-shrinkwrap.c
> @@ -1,4 +1,4 @@
> -/* { dg-options "-O3 -fshrink-wrap" } */
> +/* { dg-options "-O3 -fshrink-wrap -save-temps" } */
> /* { dg-do run { target { aarch64_sme_hw && aarch64_sve_hw } } } */
> /* { dg-do compile { target { ! { aarch64_sme_hw && aarch64_sve_hw } } } } */
> /* { dg-final { check-function-bodies "**" "" } } */
> @@ -46,6 +46,7 @@ int foo(int x)
> ** ...
> */
>
> +[[gnu::noipa]]
> __arm_locally_streaming
> int bar(int x)
> {
> @@ -69,7 +70,6 @@ int baz(int x)
> return svcntd();
> }
>
> -[[gnu::noipa]]
> int main()
> {
> if (bar(0) != svcntsd())