(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
torture/
pr70421.c
       1  /* PR target/70421 */
       2  /* { dg-do run } */
       3  /* { dg-require-effective-target int32plus } */
       4  /* { dg-additional-options "-Wno-psabi -w" } */
       5  
       6  typedef unsigned V __attribute__ ((vector_size (64)));
       7  
       8  unsigned __attribute__ ((noinline, noclone))
       9  foo (unsigned x, V u, V v)
      10  {
      11    v[1] ^= v[2];
      12    x ^= ((V) v)[u[0]];
      13    return x;
      14  }
      15  
      16  int
      17  main ()
      18  {
      19    unsigned x = foo (0x10, (V) { 1 }, (V) { 0x100, 0x1000, 0x10000 });
      20    if (x != 0x11010)
      21      __builtin_abort ();
      22    return 0;
      23  }