(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
aarch64/
sve/
acle/
asm/
dup_lane_f16.c
       1  /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
       2  
       3  #include "test_sve_acle.h"
       4  
       5  /*
       6  ** dup_lane_w0_f16_tied1:
       7  **	mov	(z[0-9]+\.h), w0
       8  **	tbl	z0\.h, z0\.h, \1
       9  **	ret
      10  */
      11  TEST_UNIFORM_ZX (dup_lane_w0_f16_tied1, svfloat16_t, uint16_t,
      12  		 z0 = svdup_lane_f16 (z0, x0),
      13  		 z0 = svdup_lane (z0, x0))
      14  
      15  /*
      16  ** dup_lane_w0_f16_untied:
      17  **	mov	(z[0-9]+\.h), w0
      18  **	tbl	z0\.h, z1\.h, \1
      19  **	ret
      20  */
      21  TEST_UNIFORM_ZX (dup_lane_w0_f16_untied, svfloat16_t, uint16_t,
      22  		 z0 = svdup_lane_f16 (z1, x0),
      23  		 z0 = svdup_lane (z1, x0))
      24  
      25  /*
      26  ** dup_lane_0_f16_tied1:
      27  **	dup	z0\.h, z0\.h\[0\]
      28  **	ret
      29  */
      30  TEST_UNIFORM_Z (dup_lane_0_f16_tied1, svfloat16_t,
      31  		z0 = svdup_lane_f16 (z0, 0),
      32  		z0 = svdup_lane (z0, 0))
      33  
      34  /*
      35  ** dup_lane_0_f16_untied:
      36  **	dup	z0\.h, z1\.h\[0\]
      37  **	ret
      38  */
      39  TEST_UNIFORM_Z (dup_lane_0_f16_untied, svfloat16_t,
      40  		z0 = svdup_lane_f16 (z1, 0),
      41  		z0 = svdup_lane (z1, 0))
      42  
      43  /*
      44  ** dup_lane_15_f16:
      45  **	dup	z0\.h, z0\.h\[15\]
      46  **	ret
      47  */
      48  TEST_UNIFORM_Z (dup_lane_15_f16, svfloat16_t,
      49  		z0 = svdup_lane_f16 (z0, 15),
      50  		z0 = svdup_lane (z0, 15))
      51  
      52  /*
      53  ** dup_lane_16_f16:
      54  **	dup	z0\.h, z0\.h\[16\]
      55  **	ret
      56  */
      57  TEST_UNIFORM_Z (dup_lane_16_f16, svfloat16_t,
      58  		z0 = svdup_lane_f16 (z0, 16),
      59  		z0 = svdup_lane (z0, 16))
      60  
      61  /*
      62  ** dup_lane_31_f16:
      63  **	dup	z0\.h, z0\.h\[31\]
      64  **	ret
      65  */
      66  TEST_UNIFORM_Z (dup_lane_31_f16, svfloat16_t,
      67  		z0 = svdup_lane_f16 (z0, 31),
      68  		z0 = svdup_lane (z0, 31))
      69  
      70  /*
      71  ** dup_lane_32_f16:
      72  **	mov	(z[0-9]+\.h), #32
      73  **	tbl	z0\.h, z0\.h, \1
      74  **	ret
      75  */
      76  TEST_UNIFORM_Z (dup_lane_32_f16, svfloat16_t,
      77  		z0 = svdup_lane_f16 (z0, 32),
      78  		z0 = svdup_lane (z0, 32))
      79  
      80  /*
      81  ** dup_lane_63_f16:
      82  **	mov	(z[0-9]+\.h), #63
      83  **	tbl	z0\.h, z0\.h, \1
      84  **	ret
      85  */
      86  TEST_UNIFORM_Z (dup_lane_63_f16, svfloat16_t,
      87  		z0 = svdup_lane_f16 (z0, 63),
      88  		z0 = svdup_lane (z0, 63))
      89  
      90  /*
      91  ** dup_lane_64_f16:
      92  **	mov	(z[0-9]+\.h), #64
      93  **	tbl	z0\.h, z0\.h, \1
      94  **	ret
      95  */
      96  TEST_UNIFORM_Z (dup_lane_64_f16, svfloat16_t,
      97  		z0 = svdup_lane_f16 (z0, 64),
      98  		z0 = svdup_lane (z0, 64))
      99  
     100  /*
     101  ** dup_lane_255_f16:
     102  **	mov	(z[0-9]+\.h), #255
     103  **	tbl	z0\.h, z0\.h, \1
     104  **	ret
     105  */
     106  TEST_UNIFORM_Z (dup_lane_255_f16, svfloat16_t,
     107  		z0 = svdup_lane_f16 (z0, 255),
     108  		z0 = svdup_lane (z0, 255))