[testsuite] Fix directives order
[official-gcc.git] / gcc / testsuite / gcc.target / arm / cmse / mainline / hard / cmse-5.c
blob5a7fb04f095dbd6155ca13d7c028218d5206a103
1 /* { dg-do compile } */
2 /* { dg-options "-mcmse -mfloat-abi=hard -mfpu=fpv5-d16" } */
3 /* { dg-require-effective-target arm_arch_v8m_main_ok } */
4 /* { dg-add-options arm_arch_v8m_main } */
5 /* { dg-skip-if "Do not combine float-abi= hard | soft | softfp" {*-*-*} {"-mfloat-abi=soft" -mfloat-abi=softfp } {""} } */
6 /* { dg-skip-if "Skip these if testing single precision" {*-*-*} {"-mfpu=*-sp-*"} {""} } */
8 extern float bar (void);
10 float __attribute__ ((cmse_nonsecure_entry))
11 foo (void)
13 return bar ();
15 /* { dg-final { scan-assembler "mov\tr0, lr" } } */
16 /* { dg-final { scan-assembler "mov\tr1, lr" } } */
17 /* { dg-final { scan-assembler "mov\tr2, lr" } } */
18 /* { dg-final { scan-assembler "mov\tr3, lr" } } */
19 /* { dg-final { scan-assembler-not "vmov\.f32\ts0, #1\.0" } } */
20 /* { dg-final { scan-assembler "vmov\.f32\ts1, #1\.0" } } */
21 /* { dg-final { scan-assembler "vmov\.f64\td1, #1\.0" } } */
22 /* { dg-final { scan-assembler "vmov\.f64\td2, #1\.0" } } */
23 /* { dg-final { scan-assembler "vmov\.f64\td3, #1\.0" } } */
24 /* { dg-final { scan-assembler "vmov\.f64\td4, #1\.0" } } */
25 /* { dg-final { scan-assembler "vmov\.f64\td5, #1\.0" } } */
26 /* { dg-final { scan-assembler "vmov\.f64\td6, #1\.0" } } */
27 /* { dg-final { scan-assembler "vmov\.f64\td7, #1\.0" } } */
28 /* { dg-final { scan-assembler "msr\tAPSR_nzcvq, lr" { target { arm_arch_v8m_main_ok && { ! arm_dsp } } } } } */
29 /* { dg-final { scan-assembler "msr\tAPSR_nzcvqg, lr" { target { arm_arch_v8m_main_ok && arm_dsp } } } } */
30 /* { dg-final { scan-assembler "push\t{r4}" } } */
31 /* { dg-final { scan-assembler "vmrs\tip, fpscr" } } */
32 /* { dg-final { scan-assembler "movw\tr4, #65376" } } */
33 /* { dg-final { scan-assembler "movt\tr4, #4095" } } */
34 /* { dg-final { scan-assembler "and\tip, r4" } } */
35 /* { dg-final { scan-assembler "vmsr\tfpscr, ip" } } */
36 /* { dg-final { scan-assembler "pop\t{r4}" } } */
37 /* { dg-final { scan-assembler "mov\tip, lr" } } */
38 /* { dg-final { scan-assembler "bxns" } } */