1  /* { dg-do assemble } */
       2  /* { dg-require-effective-target aarch64_asm_lse_ok } */
       3  /* { dg-options "-march=armv8-a" } */
       4  
       5  /* Make sure that the function header in assembly doesn't override
       6     user asm arch_extension directives.  */
       7  
       8  __asm__ (".arch_extension lse");
       9  
      10  void
      11  foo (int i, int *v)
      12  {
      13    register int w0 asm ("w0") = i;
      14    register int *x1 asm ("x1") = v;
      15  
      16    asm volatile (
      17    "\tstset   %w[i], %[v]\n"
      18    : [i] "+r" (w0), [v] "+Q" (v)
      19    : "r" (x1)
      20    : "x30");
      21  }