(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
pr98793.c
       1  /* { dg-do run } */
       2  /* { dg-options "-O2 -Wno-psabi" } */
       3  
       4  typedef unsigned char u8;
       5  typedef unsigned char __attribute__((__vector_size__ (8))) v64u8;
       6  typedef unsigned char __attribute__((__vector_size__ (64))) v512u8;
       7  typedef unsigned long long u64;
       8  
       9  u64 gx;
      10  v512u8 gu;
      11  v512u8 gv;
      12  
      13  v64u8 __attribute__((__noipa__)) foo0 (u8 ax, v512u8 au, u64 ay)
      14  {
      15    u8 lx = ax && (u8) ay;
      16    v512u8 lc = 7 <= au;
      17    v512u8 ld = (u8) (ay && gx) == gu;
      18    v512u8 le = (v512u8) ld + (v512u8) gv;
      19    v512u8 lf = le + lc;
      20    return (((union
      21              {
      22              v512u8 a;
      23              v64u8 b[8];
      24              }) lf).b[3]) + lx;
      25  }
      26  
      27  int
      28  main (void)
      29  {
      30    v64u8 x = foo0 (2, (v512u8) { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
      31                    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15
      32                    },
      33                    2);
      34    for (unsigned i = 0; i < sizeof (x); i++)
      35      if (x[i] != (i ? 0 : 0xff))
      36        __builtin_abort ();
      37    return 0;
      38  }