(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
aarch64/
sve/
acle/
asm/
tmad_f16.c
       1  /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
       2  
       3  #include "test_sve_acle.h"
       4  
       5  /*
       6  ** tmad_0_f16_tied1:
       7  **	ftmad	z0\.h, z0\.h, z1\.h, #0
       8  **	ret
       9  */
      10  TEST_UNIFORM_Z (tmad_0_f16_tied1, svfloat16_t,
      11  		z0 = svtmad_f16 (z0, z1, 0),
      12  		z0 = svtmad (z0, z1, 0))
      13  
      14  /*
      15  ** tmad_0_f16_tied2:
      16  **	mov	(z[0-9]+)\.d, z0\.d
      17  **	movprfx	z0, z1
      18  **	ftmad	z0\.h, z0\.h, \1\.h, #0
      19  **	ret
      20  */
      21  TEST_UNIFORM_Z (tmad_0_f16_tied2, svfloat16_t,
      22  		z0 = svtmad_f16 (z1, z0, 0),
      23  		z0 = svtmad (z1, z0, 0))
      24  
      25  /*
      26  ** tmad_0_f16_untied:
      27  **	movprfx	z0, z1
      28  **	ftmad	z0\.h, z0\.h, z2\.h, #0
      29  **	ret
      30  */
      31  TEST_UNIFORM_Z (tmad_0_f16_untied, svfloat16_t,
      32  		z0 = svtmad_f16 (z1, z2, 0),
      33  		z0 = svtmad (z1, z2, 0))
      34  
      35  /*
      36  ** tmad_1_f16:
      37  **	ftmad	z0\.h, z0\.h, z1\.h, #1
      38  **	ret
      39  */
      40  TEST_UNIFORM_Z (tmad_1_f16, svfloat16_t,
      41  		z0 = svtmad_f16 (z0, z1, 1),
      42  		z0 = svtmad (z0, z1, 1))
      43  
      44  /*
      45  ** tmad_2_f16:
      46  **	ftmad	z0\.h, z0\.h, z1\.h, #2
      47  **	ret
      48  */
      49  TEST_UNIFORM_Z (tmad_2_f16, svfloat16_t,
      50  		z0 = svtmad_f16 (z0, z1, 2),
      51  		z0 = svtmad (z0, z1, 2))
      52  
      53  /*
      54  ** tmad_3_f16:
      55  **	ftmad	z0\.h, z0\.h, z1\.h, #3
      56  **	ret
      57  */
      58  TEST_UNIFORM_Z (tmad_3_f16, svfloat16_t,
      59  		z0 = svtmad_f16 (z0, z1, 3),
      60  		z0 = svtmad (z0, z1, 3))
      61  
      62  /*
      63  ** tmad_4_f16:
      64  **	ftmad	z0\.h, z0\.h, z1\.h, #4
      65  **	ret
      66  */
      67  TEST_UNIFORM_Z (tmad_4_f16, svfloat16_t,
      68  		z0 = svtmad_f16 (z0, z1, 4),
      69  		z0 = svtmad (z0, z1, 4))
      70  
      71  /*
      72  ** tmad_5_f16:
      73  **	ftmad	z0\.h, z0\.h, z1\.h, #5
      74  **	ret
      75  */
      76  TEST_UNIFORM_Z (tmad_5_f16, svfloat16_t,
      77  		z0 = svtmad_f16 (z0, z1, 5),
      78  		z0 = svtmad (z0, z1, 5))
      79  
      80  /*
      81  ** tmad_6_f16:
      82  **	ftmad	z0\.h, z0\.h, z1\.h, #6
      83  **	ret
      84  */
      85  TEST_UNIFORM_Z (tmad_6_f16, svfloat16_t,
      86  		z0 = svtmad_f16 (z0, z1, 6),
      87  		z0 = svtmad (z0, z1, 6))
      88  
      89  /*
      90  ** tmad_7_f16:
      91  **	ftmad	z0\.h, z0\.h, z1\.h, #7
      92  **	ret
      93  */
      94  TEST_UNIFORM_Z (tmad_7_f16, svfloat16_t,
      95  		z0 = svtmad_f16 (z0, z1, 7),
      96  		z0 = svtmad (z0, z1, 7))