(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
vect/
bb-slp-44.c
       1  /* { dg-do run } */
       2  
       3  typedef struct {
       4      unsigned long a;
       5      unsigned long b;
       6      unsigned long c;
       7  } data_o;
       8  typedef struct {
       9      unsigned long c;
      10      unsigned long gap1;
      11      unsigned long b;
      12      unsigned long gap2;
      13      unsigned long a;
      14      unsigned long x;
      15  } data_i;
      16  
      17  volatile unsigned long gx;
      18  void __attribute__((noipa))
      19  bar(unsigned long x)
      20  {
      21    gx = x;
      22  }
      23  
      24  void __attribute__((noipa))
      25  foo(data_o *o, data_i *i)
      26  {
      27    o->a = i->a;
      28    o->b = i->b;
      29    o->c = i->c;
      30    bar (i->x);
      31  }
      32  
      33  int main()
      34  {
      35    unsigned long data[9];
      36    if ((__UINTPTR_TYPE__)data & 15 != 0)
      37      foo ((data_o *)&data[6], (data_i *)data);
      38    else
      39      foo ((data_o *)data, (data_i *)&data[3]);
      40    return 0;
      41  }