(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
aarch64/
movhf_1.c
       1  /* { dg-do assemble } */
       2  /* { dg-options "-O --save-temps" } */
       3  /* { dg-final { check-function-bodies "**" "" "" } } */
       4  
       5  #pragma GCC target "+nothing+nosimd+fp"
       6  
       7  /*
       8  ** fpr_to_fpr:
       9  **	fmov	s0, s1
      10  **	ret
      11  */
      12  _Float16
      13  fpr_to_fpr (_Float16 q0, _Float16 q1)
      14  {
      15    return q1;
      16  }
      17  
      18  /*
      19  ** gpr_to_fpr:
      20  **	fmov	s0, w0
      21  **	ret
      22  */
      23  _Float16
      24  gpr_to_fpr ()
      25  {
      26    register _Float16 w0 asm ("w0");
      27    asm volatile ("" : "=r" (w0));
      28    return w0;
      29  }
      30  
      31  /*
      32  ** zero_to_fpr:
      33  **	fmov	s0, wzr
      34  **	ret
      35  */
      36  _Float16
      37  zero_to_fpr ()
      38  {
      39    return 0;
      40  }
      41  
      42  /*
      43  ** fpr_to_gpr:
      44  **	fmov	w0, s0
      45  **	ret
      46  */
      47  void
      48  fpr_to_gpr (_Float16 q0)
      49  {
      50    register _Float16 w0 asm ("w0");
      51    w0 = q0;
      52    asm volatile ("" :: "r" (w0));
      53  }