(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
pr91069.c
       1  /* { dg-do run } */
       2  /* { dg-options "-std=gnu11" } */
       3  
       4  typedef double v2df __attribute__((vector_size(2 * sizeof (double))));
       5  typedef long long v2di __attribute__((vector_size(2 * sizeof (long long))));
       6  
       7  void foo (v2df *res, v2df *src)
       8  {
       9    v2df x = *src;
      10    *res = __builtin_shuffle ((v2df) { 1.0, 0.0 }, x, (v2di) { 1, 3 });
      11  }
      12  
      13  int main()
      14  {
      15    v2df x = (v2df) { 0.0, 2.0 };
      16    foo (&x, &x);
      17    if (x[0] != 0.0 || x[1] != 2.0)
      18      __builtin_abort ();
      19    return 0;
      20  }