libcpp, c, middle-end: Optimize initializers using #embed in C
[official-gcc.git] / gcc / testsuite / gcc.dg / vect / bb-slp-44.c
bloba342f056154f7842d53afbbfa2c44a0ec6228301
1 typedef struct {
2 unsigned long a;
3 unsigned long b;
4 unsigned long c;
5 } data_o;
6 typedef struct {
7 unsigned long c;
8 unsigned long gap1;
9 unsigned long b;
10 unsigned long gap2;
11 unsigned long a;
12 unsigned long x;
13 } data_i;
15 volatile unsigned long gx;
16 void __attribute__((noipa))
17 bar(unsigned long x)
19 gx = x;
22 void __attribute__((noipa))
23 foo(data_o *o, data_i *i)
25 o->a = i->a;
26 o->b = i->b;
27 o->c = i->c;
28 bar (i->x);
31 int main()
33 unsigned long data[9];
34 if ((__UINTPTR_TYPE__)data & 15 != 0)
35 foo ((data_o *)&data[6], (data_i *)data);
36 else
37 foo ((data_o *)data, (data_i *)&data[3]);
38 return 0;