(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
aarch64/
sve/
acle/
asm/
dupq_f16.c
       1  /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
       2  
       3  #include "test_sve_acle.h"
       4  
       5  /*
       6  ** dupq_1c_f16:
       7  **	mov	z0\.s, #15360
       8  **	ret
       9  */
      10  TEST_UNIFORM_Z (dupq_1c_f16, svfloat16_t,
      11  		z0 = svdupq_n_f16 (1.0, 0, 1.0, 0, 1.0, 0, 1.0, 0),
      12  		z0 = svdupq_f16 (1.0, 0, 1.0, 0, 1.0, 0, 1.0, 0));
      13  
      14  /*
      15  ** dupq_5ic_f16:
      16  **	movi	v([0-9]+)\.4s, 0x45, lsl 24
      17  **	dup	z0\.q, z\1\.q\[0\]
      18  **	ret
      19  */
      20  TEST_UNIFORM_Z (dupq_5ic_f16, svfloat16_t,
      21  		z0 = svdupq_n_f16 (0, 5.0, 0, 5.0, 0, 5.0, 0, 5.0),
      22  		z0 = svdupq_f16 (0, 5.0, 0, 5.0, 0, 5.0, 0, 5.0));
      23  
      24  
      25  /*
      26  ** dupq_m1c_f16:
      27  **	movi	v([0-9]+)\.4s, 0xbc, lsl 8
      28  **	dup	z0\.q, z\1\.q\[0\]
      29  **	ret
      30  */
      31  TEST_UNIFORM_Z (dupq_m1c_f16, svfloat16_t,
      32  		z0 = svdupq_n_f16 (-1.0, 0, -1.0, 0, -1.0, 0, -1.0, 0),
      33  		z0 = svdupq_f16 (-1.0, 0, -1.0, 0, -1.0, 0, -1.0, 0));
      34  
      35  /*
      36  ** dupq_40p5c_f16:
      37  **	mov	(w[0-9]+), 20752
      38  **	mov	z0\.s, \1
      39  **	ret
      40  */
      41  TEST_UNIFORM_Z (dupq_40p5c_f16, svfloat16_t,
      42  		z0 = svdupq_n_f16 (40.5, 0, 40.5, 0, 40.5, 0, 40.5, 0),
      43  		z0 = svdupq_f16 (40.5, 0, 40.5, 0, 40.5, 0, 40.5, 0));
      44  
      45  /*
      46  ** dupq_pool_f16:
      47  **	...
      48  **	ld1rqh	z0\.h, p[0-7]/z, \[x[0-9]+\]
      49  **	ret
      50  */
      51  TEST_UNIFORM_Z (dupq_pool_f16, svfloat16_t,
      52  		z0 = svdupq_n_f16 (4.75, 1.0, 9, 77, 5.25, 22, 19, 50),
      53  		z0 = svdupq_f16 (4.75, 1.0, 9, 77, 5.25, 22, 19, 50))