]>
git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/testsuite/gcc.target/aarch64/acle/ls64_asm.c
1 /* { dg-do compile } */
2 /* { dg-options "-march=armv8-a+ls64 -O2" } */
4 #ifndef __ARM_FEATURE_LS64
5 #error "__ARM_FEATURE_LS64 is not defined but should be!"
8 /* Inline assembly for LS64 instructions. */
13 ls64_load (data512_t
*output
, const void *addr
)
15 __asm__
volatile ("ld64b %0, [%1]"
21 /* { dg-final { scan-assembler-times {ld64b } 1 } } */
24 ls64_store (const data512_t
*input
, void *addr
)
26 __asm__
volatile ("st64b %1, [%0]"
28 : "r" (addr
), "r" (*input
)
32 /* { dg-final { scan-assembler-times {st64b } 1 } } */
35 ls64_store_v (const data512_t
*input
, void *addr
)
38 __asm__
volatile ("st64bv %0, %2, [%1]"
40 : "r" (addr
), "r" (*input
)
45 /* { dg-final { scan-assembler-times {st64bv } 1 } } */
48 ls64_store_v0 (const data512_t
*input
, void *addr
)
51 __asm__
volatile ("st64bv0 %0, %2, [%1]"
53 : "r" (addr
), "r" (*input
)
58 /* { dg-final { scan-assembler-times {st64bv0 } 1 } } */