Use gather loads for strided accesses
[official-gcc.git] / gcc / testsuite / gcc.target / i386 / pr78904-3.c
blob2827b380b6c8ef116616d433ecca03e33bdefb5f
1 /* PR target/78904 */
2 /* { dg-do assemble } */
3 /* { dg-options "-O2" } */
5 typedef __SIZE_TYPE__ size_t;
7 struct S1
9 unsigned char pad1;
10 unsigned char val;
11 unsigned short pad2;
14 extern struct S1 t[256];
16 struct S1 test_and (struct S1 a, size_t i)
18 a.val &= t[i].val;
20 return a;
23 struct S1 test_or (struct S1 a, size_t i)
25 a.val |= t[i].val;
27 return a;
30 struct S1 test_xor (struct S1 a, size_t i)
32 a.val ^= t[i].val;
34 return a;
37 struct S1 test_add (struct S1 a, size_t i)
39 a.val += t[i].val;
41 return a;