(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
i386/
pr90510.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-O2 -msse2 -fdump-tree-optimized" } */
       3  
       4  typedef double __v2df __attribute__ ((__vector_size__ (16)));
       5  typedef long long __v2di __attribute__ ((__vector_size__ (16)));
       6  
       7  __v2df
       8  _mm_add_sd_A (__v2df x, __v2df y)
       9  {
      10    double tem = x[0] + y[0];
      11    return __builtin_shuffle ( x, (__v2df) { tem, tem }, (__v2di) { 2, 1 } );
      12  }
      13  
      14  __v2df
      15  _mm_add_sd_B (__v2df x, __v2df y)
      16  {
      17    __v2df z = { (x[0] + y[0]), x[1] };
      18    return z;
      19  }
      20  
      21  /* { dg-final { scan-tree-dump-times "BIT_INSERT_EXPR" 2 "optimized" } } */
      22  /* { dg-final { scan-assembler-not "unpck" } } */