(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
aarch64/
advsimd-intrinsics/
vzip.c
       1  #include <arm_neon.h>
       2  #include "arm-neon-ref.h"
       3  #include "compute-ref-data.h"
       4  
       5  /* Expected results splitted in several chunks.  */
       6  /* Chunk 0.  */
       7  VECT_VAR_DECL(expected0,int,8,8) [] = { 0xf0, 0xf4, 0x11, 0x11,
       8  					0xf1, 0xf5, 0x11, 0x11 };
       9  VECT_VAR_DECL(expected0,int,16,4) [] = { 0xfff0, 0xfff2,
      10  					 0x22, 0x22 };
      11  VECT_VAR_DECL(expected0,int,32,2) [] = { 0xfffffff0, 0xfffffff1 };
      12  VECT_VAR_DECL(expected0,uint,8,8) [] = { 0xf0, 0xf4, 0x55, 0x55,
      13  					 0xf1, 0xf5, 0x55, 0x55 };
      14  VECT_VAR_DECL(expected0,uint,16,4) [] = { 0xfff0, 0xfff2,
      15  					  0x66, 0x66 };
      16  VECT_VAR_DECL(expected0,uint,32,2) [] = { 0xfffffff0, 0xfffffff1 };
      17  VECT_VAR_DECL(expected0,poly,8,8) [] = { 0xf0, 0xf4, 0x55, 0x55,
      18  					 0xf1, 0xf5, 0x55, 0x55 };
      19  VECT_VAR_DECL(expected0,poly,16,4) [] = { 0xfff0, 0xfff2,
      20  					  0x66, 0x66 };
      21  #if defined (FP16_SUPPORTED)
      22  VECT_VAR_DECL (expected0, hfloat, 16, 4) [] = { 0xcc00, 0xcb00,
      23  						0x4b4d, 0x4b4d };
      24  #endif
      25  VECT_VAR_DECL(expected0,hfloat,32,2) [] = { 0xc1800000, 0xc1700000 };
      26  VECT_VAR_DECL(expected0,int,8,16) [] = { 0xf0, 0xf8, 0x11, 0x11,
      27  					 0xf1, 0xf9, 0x11, 0x11,
      28  					 0xf2, 0xfa, 0x11, 0x11,
      29  					 0xf3, 0xfb, 0x11, 0x11 };
      30  VECT_VAR_DECL(expected0,int,16,8) [] = { 0xfff0, 0xfff4, 0x22, 0x22,
      31  					 0xfff1, 0xfff5, 0x22, 0x22 };
      32  VECT_VAR_DECL(expected0,int,32,4) [] = { 0xfffffff0, 0xfffffff2,
      33  					 0x33, 0x33 };
      34  VECT_VAR_DECL(expected0,uint,8,16) [] = { 0xf0, 0xf8, 0x55, 0x55,
      35  					  0xf1, 0xf9, 0x55, 0x55,
      36  					  0xf2, 0xfa, 0x55, 0x55,
      37  					  0xf3, 0xfb, 0x55, 0x55 };
      38  VECT_VAR_DECL(expected0,uint,16,8) [] = { 0xfff0, 0xfff4, 0x66, 0x66,
      39  					  0xfff1, 0xfff5, 0x66, 0x66 };
      40  VECT_VAR_DECL(expected0,uint,32,4) [] = { 0xfffffff0, 0xfffffff2,
      41  					  0x77, 0x77 };
      42  VECT_VAR_DECL(expected0,poly,8,16) [] = { 0xf0, 0xf8, 0x55, 0x55,
      43  					  0xf1, 0xf9, 0x55, 0x55,
      44  					  0xf2, 0xfa, 0x55, 0x55,
      45  					  0xf3, 0xfb, 0x55, 0x55 };
      46  VECT_VAR_DECL(expected0,poly,16,8) [] = { 0xfff0, 0xfff4, 0x66, 0x66,
      47  					  0xfff1, 0xfff5, 0x66, 0x66 };
      48  #if defined (FP16_SUPPORTED)
      49  VECT_VAR_DECL (expected0, hfloat, 16, 8) [] = { 0xcc00, 0xca00,
      50  						0x4b4d, 0x4b4d,
      51  						0xcb80, 0xc980,
      52  						0x4b4d, 0x4b4d };
      53  #endif
      54  VECT_VAR_DECL(expected0,hfloat,32,4) [] = { 0xc1800000, 0xc1600000,
      55  					    0x42073333, 0x42073333 };
      56  
      57  /* Chunk 1.  */
      58  VECT_VAR_DECL(expected1,int,8,8) [] = { 0xf2, 0xf6, 0x11, 0x11,
      59  					0xf3, 0xf7, 0x11, 0x11 };
      60  VECT_VAR_DECL(expected1,int,16,4) [] = { 0xfff1, 0xfff3,
      61  					 0x22, 0x22 };
      62  VECT_VAR_DECL(expected1,int,32,2) [] = { 0x33, 0x33 };
      63  VECT_VAR_DECL(expected1,uint,8,8) [] = { 0xf2, 0xf6, 0x55, 0x55,
      64  					 0xf3, 0xf7, 0x55, 0x55 };
      65  VECT_VAR_DECL(expected1,uint,16,4) [] = { 0xfff1, 0xfff3,
      66  					  0x66, 0x66 };
      67  VECT_VAR_DECL(expected1,uint,32,2) [] = { 0x77, 0x77 };
      68  VECT_VAR_DECL(expected1,poly,8,8) [] = { 0xf2, 0xf6, 0x55, 0x55,
      69  					 0xf3, 0xf7, 0x55, 0x55 };
      70  VECT_VAR_DECL(expected1,poly,16,4) [] = { 0xfff1, 0xfff3,
      71  					  0x66, 0x66 };
      72  #if defined (FP16_SUPPORTED)
      73  VECT_VAR_DECL (expected1, hfloat, 16, 4) [] = { 0xcb80, 0xca80,
      74  						0x4b4d, 0x4b4d };
      75  #endif
      76  VECT_VAR_DECL(expected1,hfloat,32,2) [] = { 0x42066666, 0x42066666 };
      77  VECT_VAR_DECL(expected1,int,8,16) [] = { 0xf4, 0xfc, 0x11, 0x11,
      78  					 0xf5, 0xfd, 0x11, 0x11,
      79  					 0xf6, 0xfe, 0x11, 0x11,
      80  					 0xf7, 0xff, 0x11, 0x11 };
      81  VECT_VAR_DECL(expected1,int,16,8) [] = { 0xfff2, 0xfff6, 0x22, 0x22,
      82  					 0xfff3, 0xfff7, 0x22, 0x22 };
      83  VECT_VAR_DECL(expected1,int,32,4) [] = { 0xfffffff1, 0xfffffff3,
      84  					 0x33, 0x33 };
      85  VECT_VAR_DECL(expected1,uint,8,16) [] = { 0xf4, 0xfc, 0x55, 0x55,
      86  					  0xf5, 0xfd, 0x55, 0x55,
      87  					  0xf6, 0xfe, 0x55, 0x55,
      88  					  0xf7, 0xff, 0x55, 0x55 };
      89  VECT_VAR_DECL(expected1,uint,16,8) [] = { 0xfff2, 0xfff6, 0x66, 0x66,
      90  					  0xfff3, 0xfff7, 0x66, 0x66 };
      91  VECT_VAR_DECL(expected1,uint,32,4) [] = { 0xfffffff1, 0xfffffff3,
      92  					  0x77, 0x77 };
      93  VECT_VAR_DECL(expected1,poly,8,16) [] = { 0xf4, 0xfc, 0x55, 0x55,
      94  					  0xf5, 0xfd, 0x55, 0x55,
      95  					  0xf6, 0xfe, 0x55, 0x55,
      96  					  0xf7, 0xff, 0x55, 0x55 };
      97  VECT_VAR_DECL(expected1,poly,16,8) [] = { 0xfff2, 0xfff6, 0x66, 0x66,
      98  					  0xfff3, 0xfff7, 0x66, 0x66 };
      99  #if defined (FP16_SUPPORTED)
     100  VECT_VAR_DECL (expected1, hfloat, 16, 8) [] = { 0xcb00, 0xc900,
     101  						0x4b4d, 0x4b4d,
     102  						0xca80, 0xc880,
     103  						0x4b4d, 0x4b4d };
     104  #endif
     105  VECT_VAR_DECL(expected1,hfloat,32,4) [] = { 0xc1700000, 0xc1500000,
     106  					    0x42073333, 0x42073333 };
     107  
     108  #define INSN_NAME vzip
     109  #define TEST_MSG "VZIP/VZIPQ"
     110  
     111  #include "vshuffle.inc"