1  /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
       2  
       3  #include "test_sve_acle.h"
       4  
       5  /*
       6  ** get4_f16_z0_0:
       7  **	mov	z0\.d, z4\.d
       8  **	ret
       9  */
      10  TEST_GET (get4_f16_z0_0, svfloat16x4_t, svfloat16_t,
      11  	  z0 = svget4_f16 (z4, 0),
      12  	  z0 = svget4 (z4, 0))
      13  
      14  /*
      15  ** get4_f16_z0_1:
      16  **	mov	z0\.d, z5\.d
      17  **	ret
      18  */
      19  TEST_GET (get4_f16_z0_1, svfloat16x4_t, svfloat16_t,
      20  	  z0 = svget4_f16 (z4, 1),
      21  	  z0 = svget4 (z4, 1))
      22  
      23  /*
      24  ** get4_f16_z0_2:
      25  **	mov	z0\.d, z6\.d
      26  **	ret
      27  */
      28  TEST_GET (get4_f16_z0_2, svfloat16x4_t, svfloat16_t,
      29  	  z0 = svget4_f16 (z4, 2),
      30  	  z0 = svget4 (z4, 2))
      31  
      32  /*
      33  ** get4_f16_z0_3:
      34  **	mov	z0\.d, z7\.d
      35  **	ret
      36  */
      37  TEST_GET (get4_f16_z0_3, svfloat16x4_t, svfloat16_t,
      38  	  z0 = svget4_f16 (z4, 3),
      39  	  z0 = svget4 (z4, 3))
      40  
      41  /*
      42  ** get4_f16_z4_0:
      43  **	ret
      44  */
      45  TEST_GET (get4_f16_z4_0, svfloat16x4_t, svfloat16_t,
      46  	  z4_res = svget4_f16 (z4, 0),
      47  	  z4_res = svget4 (z4, 0))
      48  
      49  /*
      50  ** get4_f16_z4_1:
      51  **	mov	z4\.d, z5\.d
      52  **	ret
      53  */
      54  TEST_GET (get4_f16_z4_1, svfloat16x4_t, svfloat16_t,
      55  	  z4_res = svget4_f16 (z4, 1),
      56  	  z4_res = svget4 (z4, 1))
      57  
      58  /*
      59  ** get4_f16_z4_2:
      60  **	mov	z4\.d, z6\.d
      61  **	ret
      62  */
      63  TEST_GET (get4_f16_z4_2, svfloat16x4_t, svfloat16_t,
      64  	  z4_res = svget4_f16 (z4, 2),
      65  	  z4_res = svget4 (z4, 2))
      66  
      67  /*
      68  ** get4_f16_z4_3:
      69  **	mov	z4\.d, z7\.d
      70  **	ret
      71  */
      72  TEST_GET (get4_f16_z4_3, svfloat16x4_t, svfloat16_t,
      73  	  z4_res = svget4_f16 (z4, 3),
      74  	  z4_res = svget4 (z4, 3))
      75  
      76  /*
      77  ** get4_f16_z5_0:
      78  **	mov	z5\.d, z4\.d
      79  **	ret
      80  */
      81  TEST_GET (get4_f16_z5_0, svfloat16x4_t, svfloat16_t,
      82  	  z5_res = svget4_f16 (z4, 0),
      83  	  z5_res = svget4 (z4, 0))
      84  
      85  /*
      86  ** get4_f16_z5_1:
      87  **	ret
      88  */
      89  TEST_GET (get4_f16_z5_1, svfloat16x4_t, svfloat16_t,
      90  	  z5_res = svget4_f16 (z4, 1),
      91  	  z5_res = svget4 (z4, 1))
      92  
      93  /*
      94  ** get4_f16_z5_2:
      95  **	mov	z5\.d, z6\.d
      96  **	ret
      97  */
      98  TEST_GET (get4_f16_z5_2, svfloat16x4_t, svfloat16_t,
      99  	  z5_res = svget4_f16 (z4, 2),
     100  	  z5_res = svget4 (z4, 2))
     101  
     102  /*
     103  ** get4_f16_z5_3:
     104  **	mov	z5\.d, z7\.d
     105  **	ret
     106  */
     107  TEST_GET (get4_f16_z5_3, svfloat16x4_t, svfloat16_t,
     108  	  z5_res = svget4_f16 (z4, 3),
     109  	  z5_res = svget4 (z4, 3))
     110  
     111  /*
     112  ** get4_f16_z6_0:
     113  **	mov	z6\.d, z4\.d
     114  **	ret
     115  */
     116  TEST_GET (get4_f16_z6_0, svfloat16x4_t, svfloat16_t,
     117  	  z6_res = svget4_f16 (z4, 0),
     118  	  z6_res = svget4 (z4, 0))
     119  
     120  /*
     121  ** get4_f16_z6_1:
     122  **	mov	z6\.d, z5\.d
     123  **	ret
     124  */
     125  TEST_GET (get4_f16_z6_1, svfloat16x4_t, svfloat16_t,
     126  	  z6_res = svget4_f16 (z4, 1),
     127  	  z6_res = svget4 (z4, 1))
     128  
     129  /*
     130  ** get4_f16_z6_2:
     131  **	ret
     132  */
     133  TEST_GET (get4_f16_z6_2, svfloat16x4_t, svfloat16_t,
     134  	  z6_res = svget4_f16 (z4, 2),
     135  	  z6_res = svget4 (z4, 2))
     136  
     137  /*
     138  ** get4_f16_z6_3:
     139  **	mov	z6\.d, z7\.d
     140  **	ret
     141  */
     142  TEST_GET (get4_f16_z6_3, svfloat16x4_t, svfloat16_t,
     143  	  z6_res = svget4_f16 (z4, 3),
     144  	  z6_res = svget4 (z4, 3))
     145  
     146  /*
     147  ** get4_f16_z7_0:
     148  **	mov	z7\.d, z4\.d
     149  **	ret
     150  */
     151  TEST_GET (get4_f16_z7_0, svfloat16x4_t, svfloat16_t,
     152  	  z7_res = svget4_f16 (z4, 0),
     153  	  z7_res = svget4 (z4, 0))
     154  
     155  /*
     156  ** get4_f16_z7_1:
     157  **	mov	z7\.d, z5\.d
     158  **	ret
     159  */
     160  TEST_GET (get4_f16_z7_1, svfloat16x4_t, svfloat16_t,
     161  	  z7_res = svget4_f16 (z4, 1),
     162  	  z7_res = svget4 (z4, 1))
     163  
     164  /*
     165  ** get4_f16_z7_2:
     166  **	mov	z7\.d, z6\.d
     167  **	ret
     168  */
     169  TEST_GET (get4_f16_z7_2, svfloat16x4_t, svfloat16_t,
     170  	  z7_res = svget4_f16 (z4, 2),
     171  	  z7_res = svget4 (z4, 2))
     172  
     173  /*
     174  ** get4_f16_z7_3:
     175  **	ret
     176  */
     177  TEST_GET (get4_f16_z7_3, svfloat16x4_t, svfloat16_t,
     178  	  z7_res = svget4_f16 (z4, 3),
     179  	  z7_res = svget4 (z4, 3))