(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
aarch64/
sve/
acle/
asm/
reinterpret_s64.c
       1  /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
       2  
       3  #include "test_sve_acle.h"
       4  
       5  /*
       6  ** reinterpret_s64_bf16_tied1:
       7  **	ret
       8  */
       9  TEST_DUAL_Z_REV (reinterpret_s64_bf16_tied1, svint64_t, svbfloat16_t,
      10  		 z0_res = svreinterpret_s64_bf16 (z0),
      11  		 z0_res = svreinterpret_s64 (z0))
      12  
      13  /*
      14  ** reinterpret_s64_bf16_untied:
      15  **	mov	z0\.d, z4\.d
      16  **	ret
      17  */
      18  TEST_DUAL_Z (reinterpret_s64_bf16_untied, svint64_t, svbfloat16_t,
      19  	     z0 = svreinterpret_s64_bf16 (z4),
      20  	     z0 = svreinterpret_s64 (z4))
      21  
      22  /*
      23  ** reinterpret_s64_f16_tied1:
      24  **	ret
      25  */
      26  TEST_DUAL_Z_REV (reinterpret_s64_f16_tied1, svint64_t, svfloat16_t,
      27  		 z0_res = svreinterpret_s64_f16 (z0),
      28  		 z0_res = svreinterpret_s64 (z0))
      29  
      30  /*
      31  ** reinterpret_s64_f16_untied:
      32  **	mov	z0\.d, z4\.d
      33  **	ret
      34  */
      35  TEST_DUAL_Z (reinterpret_s64_f16_untied, svint64_t, svfloat16_t,
      36  	     z0 = svreinterpret_s64_f16 (z4),
      37  	     z0 = svreinterpret_s64 (z4))
      38  
      39  /*
      40  ** reinterpret_s64_f32_tied1:
      41  **	ret
      42  */
      43  TEST_DUAL_Z_REV (reinterpret_s64_f32_tied1, svint64_t, svfloat32_t,
      44  		 z0_res = svreinterpret_s64_f32 (z0),
      45  		 z0_res = svreinterpret_s64 (z0))
      46  
      47  /*
      48  ** reinterpret_s64_f32_untied:
      49  **	mov	z0\.d, z4\.d
      50  **	ret
      51  */
      52  TEST_DUAL_Z (reinterpret_s64_f32_untied, svint64_t, svfloat32_t,
      53  	     z0 = svreinterpret_s64_f32 (z4),
      54  	     z0 = svreinterpret_s64 (z4))
      55  
      56  /*
      57  ** reinterpret_s64_f64_tied1:
      58  **	ret
      59  */
      60  TEST_DUAL_Z_REV (reinterpret_s64_f64_tied1, svint64_t, svfloat64_t,
      61  		 z0_res = svreinterpret_s64_f64 (z0),
      62  		 z0_res = svreinterpret_s64 (z0))
      63  
      64  /*
      65  ** reinterpret_s64_f64_untied:
      66  **	mov	z0\.d, z4\.d
      67  **	ret
      68  */
      69  TEST_DUAL_Z (reinterpret_s64_f64_untied, svint64_t, svfloat64_t,
      70  	     z0 = svreinterpret_s64_f64 (z4),
      71  	     z0 = svreinterpret_s64 (z4))
      72  
      73  /*
      74  ** reinterpret_s64_s8_tied1:
      75  **	ret
      76  */
      77  TEST_DUAL_Z_REV (reinterpret_s64_s8_tied1, svint64_t, svint8_t,
      78  		 z0_res = svreinterpret_s64_s8 (z0),
      79  		 z0_res = svreinterpret_s64 (z0))
      80  
      81  /*
      82  ** reinterpret_s64_s8_untied:
      83  **	mov	z0\.d, z4\.d
      84  **	ret
      85  */
      86  TEST_DUAL_Z (reinterpret_s64_s8_untied, svint64_t, svint8_t,
      87  	     z0 = svreinterpret_s64_s8 (z4),
      88  	     z0 = svreinterpret_s64 (z4))
      89  
      90  /*
      91  ** reinterpret_s64_s16_tied1:
      92  **	ret
      93  */
      94  TEST_DUAL_Z_REV (reinterpret_s64_s16_tied1, svint64_t, svint16_t,
      95  		 z0_res = svreinterpret_s64_s16 (z0),
      96  		 z0_res = svreinterpret_s64 (z0))
      97  
      98  /*
      99  ** reinterpret_s64_s16_untied:
     100  **	mov	z0\.d, z4\.d
     101  **	ret
     102  */
     103  TEST_DUAL_Z (reinterpret_s64_s16_untied, svint64_t, svint16_t,
     104  	     z0 = svreinterpret_s64_s16 (z4),
     105  	     z0 = svreinterpret_s64 (z4))
     106  
     107  /*
     108  ** reinterpret_s64_s32_tied1:
     109  **	ret
     110  */
     111  TEST_DUAL_Z_REV (reinterpret_s64_s32_tied1, svint64_t, svint32_t,
     112  		 z0_res = svreinterpret_s64_s32 (z0),
     113  		 z0_res = svreinterpret_s64 (z0))
     114  
     115  /*
     116  ** reinterpret_s64_s32_untied:
     117  **	mov	z0\.d, z4\.d
     118  **	ret
     119  */
     120  TEST_DUAL_Z (reinterpret_s64_s32_untied, svint64_t, svint32_t,
     121  	     z0 = svreinterpret_s64_s32 (z4),
     122  	     z0 = svreinterpret_s64 (z4))
     123  
     124  /*
     125  ** reinterpret_s64_s64_tied1:
     126  **	ret
     127  */
     128  TEST_DUAL_Z_REV (reinterpret_s64_s64_tied1, svint64_t, svint64_t,
     129  		 z0_res = svreinterpret_s64_s64 (z0),
     130  		 z0_res = svreinterpret_s64 (z0))
     131  
     132  /*
     133  ** reinterpret_s64_s64_untied:
     134  **	mov	z0\.d, z4\.d
     135  **	ret
     136  */
     137  TEST_DUAL_Z (reinterpret_s64_s64_untied, svint64_t, svint64_t,
     138  	     z0 = svreinterpret_s64_s64 (z4),
     139  	     z0 = svreinterpret_s64 (z4))
     140  
     141  /*
     142  ** reinterpret_s64_u8_tied1:
     143  **	ret
     144  */
     145  TEST_DUAL_Z_REV (reinterpret_s64_u8_tied1, svint64_t, svuint8_t,
     146  		 z0_res = svreinterpret_s64_u8 (z0),
     147  		 z0_res = svreinterpret_s64 (z0))
     148  
     149  /*
     150  ** reinterpret_s64_u8_untied:
     151  **	mov	z0\.d, z4\.d
     152  **	ret
     153  */
     154  TEST_DUAL_Z (reinterpret_s64_u8_untied, svint64_t, svuint8_t,
     155  	     z0 = svreinterpret_s64_u8 (z4),
     156  	     z0 = svreinterpret_s64 (z4))
     157  
     158  /*
     159  ** reinterpret_s64_u16_tied1:
     160  **	ret
     161  */
     162  TEST_DUAL_Z_REV (reinterpret_s64_u16_tied1, svint64_t, svuint16_t,
     163  		 z0_res = svreinterpret_s64_u16 (z0),
     164  		 z0_res = svreinterpret_s64 (z0))
     165  
     166  /*
     167  ** reinterpret_s64_u16_untied:
     168  **	mov	z0\.d, z4\.d
     169  **	ret
     170  */
     171  TEST_DUAL_Z (reinterpret_s64_u16_untied, svint64_t, svuint16_t,
     172  	     z0 = svreinterpret_s64_u16 (z4),
     173  	     z0 = svreinterpret_s64 (z4))
     174  
     175  /*
     176  ** reinterpret_s64_u32_tied1:
     177  **	ret
     178  */
     179  TEST_DUAL_Z_REV (reinterpret_s64_u32_tied1, svint64_t, svuint32_t,
     180  		 z0_res = svreinterpret_s64_u32 (z0),
     181  		 z0_res = svreinterpret_s64 (z0))
     182  
     183  /*
     184  ** reinterpret_s64_u32_untied:
     185  **	mov	z0\.d, z4\.d
     186  **	ret
     187  */
     188  TEST_DUAL_Z (reinterpret_s64_u32_untied, svint64_t, svuint32_t,
     189  	     z0 = svreinterpret_s64_u32 (z4),
     190  	     z0 = svreinterpret_s64 (z4))
     191  
     192  /*
     193  ** reinterpret_s64_u64_tied1:
     194  **	ret
     195  */
     196  TEST_DUAL_Z_REV (reinterpret_s64_u64_tied1, svint64_t, svuint64_t,
     197  		 z0_res = svreinterpret_s64_u64 (z0),
     198  		 z0_res = svreinterpret_s64 (z0))
     199  
     200  /*
     201  ** reinterpret_s64_u64_untied:
     202  **	mov	z0\.d, z4\.d
     203  **	ret
     204  */
     205  TEST_DUAL_Z (reinterpret_s64_u64_untied, svint64_t, svuint64_t,
     206  	     z0 = svreinterpret_s64_u64 (z4),
     207  	     z0 = svreinterpret_s64 (z4))