(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
i386/
pr92645.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-O3 -fdump-tree-optimized -msse2 -Wno-psabi" } */
       3  
       4  typedef unsigned short v8hi __attribute__((vector_size(16)));
       5  typedef unsigned int v4si __attribute__((vector_size(16)));
       6  
       7  void bar (v4si *dst, v8hi * __restrict src)
       8  {
       9    unsigned int tem[8];
      10    tem[0] = (*src)[0];
      11    tem[1] = (*src)[1];
      12    tem[2] = (*src)[2];
      13    tem[3] = (*src)[3];
      14    tem[4] = (*src)[4];
      15    tem[5] = (*src)[5];
      16    tem[6] = (*src)[6];
      17    tem[7] = (*src)[7];
      18    dst[0] = *(v4si *)tem;
      19    dst[1] = *(v4si *)&tem[4];
      20  }
      21  void foo (v4si *dst, v8hi src)
      22  {
      23    unsigned int tem[8];
      24    tem[0] = src[0];
      25    tem[1] = src[1];
      26    tem[2] = src[2];
      27    tem[3] = src[3];
      28    tem[4] = src[4];
      29    tem[5] = src[5];
      30    tem[6] = src[6];
      31    tem[7] = src[7];
      32    dst[0] = *(v4si *)tem;
      33    dst[1] = *(v4si *)&tem[4];
      34  }
      35  
      36  /* { dg-final { scan-tree-dump-times "vec_unpack_" 4 "optimized" } } */