1  /* { dg-do compile }  */
       2  /* { dg-require-effective-target arm_fp16_alternative_ok } */
       3  /* { dg-options "-mfloat-abi=softfp -O2 -mfp16-format=alternative" }  */
       4  /* { dg-skip-if "incompatible float-abi" { arm*-*-* } { "-mfloat-abi=hard" } } */
       5  
       6  /* Test __fp16 arguments and return value in registers (softfp).  */
       7  
       8  void
       9  swap (__fp16, __fp16);
      10  
      11  __fp16
      12  F (__fp16 a, __fp16 b, __fp16 c)
      13  {
      14    swap (b, a);
      15    return c;
      16  }
      17  
      18  /* { dg-final { scan-assembler-times {mov\tr[0-9]+, r[0-2]} 3 } }  */
      19  /* { dg-final { scan-assembler-times {mov\tr1, r[03]} 1 } }  */
      20  /* { dg-final { scan-assembler-times {mov\tr0, r[0-9]+} 2 } }  */