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())

Reply via email to