testcase: Add testcase for PR 117330 [PR117330]
[official-gcc.git] / gcc / testsuite / gcc.target / aarch64 / movqi_1.c
blob401a79630f497fc99560a829b3a87957a9c51c23
1 /* { dg-do assemble } */
2 /* { dg-options "-O --save-temps" } */
3 /* { dg-final { check-function-bodies "**" "" "" } } */
5 #pragma GCC target "+nothing+nosimd+fp"
7 #include <stdint.h>
9 /*
10 ** fpr_to_fpr:
11 ** fmov s0, s1
12 ** ret
14 void
15 fpr_to_fpr (void)
17 register uint8_t q0 asm ("q0");
18 register uint8_t q1 asm ("q1");
19 asm volatile ("" : "=w" (q1));
20 q0 = q1;
21 asm volatile ("" :: "w" (q0));
25 ** gpr_to_fpr:
26 ** fmov s0, w0
27 ** ret
29 void
30 gpr_to_fpr (uint8_t w0)
32 register uint8_t q0 asm ("q0");
33 q0 = w0;
34 asm volatile ("" :: "w" (q0));
38 ** zero_to_fpr:
39 ** fmov s0, wzr
40 ** ret
42 void
43 zero_to_fpr ()
45 register uint8_t q0 asm ("q0");
46 q0 = 0;
47 asm volatile ("" :: "w" (q0));
51 ** fpr_to_gpr:
52 ** fmov w0, s0
53 ** ret
55 uint8_t
56 fpr_to_gpr ()
58 register uint8_t q0 asm ("q0");
59 asm volatile ("" : "=w" (q0));
60 return q0;