1  /* { dg-do compile } */
       2  /* { dg-options "-mcmse -mfloat-abi=softfp -mfpu=fpv5-sp-d16" }  */
       3  /* { dg-skip-if "Incompatible float ABI" { *-*-* } { "-mfloat-abi=*" } { "-mfloat-abi=softfp" } } */
       4  /* { dg-skip-if "Skip these if testing double precision" {*-*-*} {"-mfpu=fpv[4-5]-d16"} {""} } */
       5  
       6  #include "../../../cmse-5.x"
       7  
       8  /* { dg-final { scan-assembler "__acle_se_foo:" } } */
       9  /* { dg-final { scan-assembler-not "mov\tr0, lr" } } */
      10  /* { dg-final { scan-assembler "mov\tr1, lr" } } */
      11  /* { dg-final { scan-assembler "mov\tr2, lr" } } */
      12  /* { dg-final { scan-assembler "mov\tr3, lr" } } */
      13  /* { dg-final { scan-assembler "vmov\.f32\ts0, #1\.0" } } */
      14  /* { dg-final { scan-assembler "vmov\.f32\ts1, #1\.0" } } */
      15  /* { dg-final { scan-assembler "vmov\.f32\ts2, #1\.0" } } */
      16  /* { dg-final { scan-assembler "vmov\.f32\ts3, #1\.0" } } */
      17  /* { dg-final { scan-assembler "vmov\.f32\ts4, #1\.0" } } */
      18  /* { dg-final { scan-assembler "vmov\.f32\ts5, #1\.0" } } */
      19  /* { dg-final { scan-assembler "vmov\.f32\ts6, #1\.0" } } */
      20  /* { dg-final { scan-assembler "vmov\.f32\ts7, #1\.0" } } */
      21  /* { dg-final { scan-assembler "vmov\.f32\ts8, #1\.0" } } */
      22  /* { dg-final { scan-assembler "vmov\.f32\ts9, #1\.0" } } */
      23  /* { dg-final { scan-assembler "vmov\.f32\ts10, #1\.0" } } */
      24  /* { dg-final { scan-assembler "vmov\.f32\ts11, #1\.0" } } */
      25  /* { dg-final { scan-assembler "vmov\.f32\ts12, #1\.0" } } */
      26  /* { dg-final { scan-assembler "vmov\.f32\ts13, #1\.0" } } */
      27  /* { dg-final { scan-assembler "vmov\.f32\ts14, #1\.0" } } */
      28  /* { dg-final { scan-assembler "vmov\.f32\ts15, #1\.0" } } */
      29  /* { dg-final { scan-assembler "msr\tAPSR_nzcvq, lr" { target { ! arm_dsp } } } } */
      30  /* { dg-final { scan-assembler "msr\tAPSR_nzcvqg, lr" { target arm_dsp } } } */
      31  /* { dg-final { scan-assembler "push\t{r4}" } } */
      32  /* { dg-final { scan-assembler "vmrs\tip, fpscr" } } */
      33  /* { dg-final { scan-assembler "movw\tr4, #65376" } } */
      34  /* { dg-final { scan-assembler "movt\tr4, #4095" } } */
      35  /* { dg-final { scan-assembler "and\tip, r4" } } */
      36  /* { dg-final { scan-assembler "vmsr\tfpscr, ip" } } */
      37  /* { dg-final { scan-assembler "pop\t{r4}" } } */
      38  /* { dg-final { scan-assembler "mov\tip, lr" } } */
      39  /* { dg-final { scan-assembler "bxns" } } */