blob: a19908f29b6a1b5e043ecfa7228cd88ad78a0c3d [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-O3 -fpic -msve-vector-bits=512 -fno-schedule-insns" } */
/* { dg-require-effective-target fpic } */
/* { dg-require-effective-target tls_native } */
typedef float v16si __attribute__ ((vector_size (64)));
__thread v16si tx;
v16si foo (v16si a, v16si b, v16si c)
{
v16si y;
/* There is nothing stopping the compiler from making the tls call before
loading the input variables off the stack. However, there appears to
be no way in C of enforcing this. Thankfully the compiler doesn't
do this reordering. */
y = a + tx + b + c;
return y + 7;
}
/* { dg-final { scan-assembler-times {\tstr\tz[0-9]+,} 3 } } */