On Wed, Jul 29, 2026 at 9:11 AM H.J. Lu <[email protected]> wrote:
>
> Since in
>
> typedef int V [[gnu::vector_size (16)]];
> long long a, b, c, d, e;
> short f;
> [[gnu::vector_size (8 * sizeof (int))]] int g;
> V h;
> _Bool i;
>
> void
> foo (V x)
> {
>   _Bool j = 0;
>   short l = 0;
> l1:
>   b = l;
>   x = h;
>   ...
> }
>
> the register argument, x, is used as local variable, also return true if
> spilling an SSA_NAME into an argument-linked memory.
>
> gcc/
>
> PR target/126450
> * config/i386/i386.cc (ix86_spill_register_argument_p): Check
> the argument-linked memory used to store local variable.
>
> gcc/testsuite/
>
> PR target/126450
> * gcc.target/i386/pr126450-1.c: New test.
> * gcc.target/i386/pr126450-2.c: Likewise.

LGTM.

Thanks,
Uros.

Reply via email to