[PATCH, GCC/ARM, 4/10] Clear GPR with CLRM
[official-gcc.git] / gcc / testsuite / gcc.target / arm / cmse / mainline / 8_1m / hard / cmse-5.c
blob7e3b7609dfa5c8c1df77e413fa1bb85aa80ea9f6
1 /* { dg-do compile } */
2 /* { dg-options "-mcmse -mfloat-abi=hard -mfpu=fpv5-d16" } */
3 /* { dg-skip-if "Incompatible float ABI" { *-*-* } { "-mfloat-abi=*" } { "-mfloat-abi=hard" } } */
4 /* { dg-skip-if "Skip these if testing single precision" {*-*-*} {"-mfpu=*-sp-*"} {""} } */
6 #include "../../../cmse-5.x"
8 /* { dg-final { scan-assembler "vstr\tFPCXTNS, \\\[sp, #-4\\\]!" } } */
9 /* { dg-final { scan-assembler-not "vmov\.f32\ts0, #1\.0" } } */
10 /* { dg-final { scan-assembler "vmov\.f32\ts1, #1\.0" } } */
11 /* { dg-final { scan-assembler "vmov\.f64\td1, #1\.0" } } */
12 /* { dg-final { scan-assembler "vmov\.f64\td2, #1\.0" } } */
13 /* { dg-final { scan-assembler "vmov\.f64\td3, #1\.0" } } */
14 /* { dg-final { scan-assembler "vmov\.f64\td4, #1\.0" } } */
15 /* { dg-final { scan-assembler "vmov\.f64\td5, #1\.0" } } */
16 /* { dg-final { scan-assembler "vmov\.f64\td6, #1\.0" } } */
17 /* { dg-final { scan-assembler "vmov\.f64\td7, #1\.0" } } */
18 /* { dg-final { scan-assembler "clrm\t\{r0, r1, r2, r3, ip, APSR\}" } } */
19 /* { dg-final { scan-assembler "vldr\tFPCXTNS, \\\[sp\\\], #4" } } */
20 /* { dg-final { scan-assembler "bxns" } } */