(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
aarch64/
movti_1.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-O" } */
       3  /* { dg-final { check-function-bodies "**" "" "" { target lp64 } } } */
       4  
       5  /*
       6  ** zero_q:
       7  **	movi	v0.2d, #0
       8  **	ret
       9  */
      10  void
      11  zero_q ()
      12  {
      13    register __int128_t q0 asm ("q0");
      14    q0 = 0;
      15    asm volatile ("" :: "w" (q0));
      16  }
      17  
      18  /*
      19  ** load_q:
      20  **	ldr	q0, \[x0\]
      21  **	ret
      22  */
      23  void
      24  load_q (__int128_t *ptr)
      25  {
      26    register __int128_t q0 asm ("q0");
      27    q0 = *ptr;
      28    asm volatile ("" :: "w" (q0));
      29  }
      30  
      31  /*
      32  ** store_q:
      33  **	str	q0, \[x0\]
      34  **	ret
      35  */
      36  void
      37  store_q (__int128_t *ptr)
      38  {
      39    register __int128_t q0 asm ("q0");
      40    asm volatile ("" : "=w" (q0));
      41    *ptr = q0;
      42  }
      43  
      44  /*
      45  ** zero_x:
      46  ** (
      47  **	mov	x0, #?0
      48  **	mov	x1, #?0
      49  ** |
      50  **	mov	x1, #?0
      51  **	mov	x0, #?0
      52  ** )
      53  **	ret
      54  */
      55  void
      56  zero_x ()
      57  {
      58    register __int128_t x0 asm ("x0");
      59    x0 = 0;
      60    asm volatile ("" :: "r" (x0));
      61  }
      62  
      63  /*
      64  ** load_x:
      65  **	ldp	x2, x3, \[x0\]
      66  **	ret
      67  */
      68  void
      69  load_x (__int128_t *ptr)
      70  {
      71    register __int128_t x2 asm ("x2");
      72    x2 = *ptr;
      73    asm volatile ("" :: "r" (x2));
      74  }
      75  
      76  /*
      77  ** store_x:
      78  **	stp	x2, x3, \[x0\]
      79  **	ret
      80  */
      81  void
      82  store_x (__int128_t *ptr)
      83  {
      84    register __int128_t x2 asm ("x2");
      85    asm volatile ("" : "=r" (x2));
      86    *ptr = x2;
      87  }