diff options
Diffstat (limited to 'gcc/testsuite/gcc.target/aarch64/assembler_arch_1.c')
-rw-r--r-- | gcc/testsuite/gcc.target/aarch64/assembler_arch_1.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.target/aarch64/assembler_arch_1.c b/gcc/testsuite/gcc.target/aarch64/assembler_arch_1.c new file mode 100644 index 00000000000..5deea5cf0ee --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/assembler_arch_1.c @@ -0,0 +1,21 @@ +/* { 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"); +} |