blob: 5deea5cf0ee9306743bc47bace6f762d0e35ce65 [file] [log] [blame]
/* { dg-do assemble } */
/* { dg-require-effective-target aarch64_asm_lse_ok } */
/* { dg-options "-march=armv8-a" } */
/* Make sure that the function header in assembly doesn't override
user asm arch_extension directives. */
__asm__ (".arch_extension lse");
void
foo (int i, int *v)
{
register int w0 asm ("w0") = i;
register int *x1 asm ("x1") = v;
asm volatile (
"\tstset %w[i], %[v]\n"
: [i] "+r" (w0), [v] "+Q" (v)
: "r" (x1)
: "x30");
}