2018-03-08 Richard Biener <rguenther@suse.de>
[official-gcc.git] / gcc / testsuite / gcc.target / i386 / pr69891.c
blob2c5e86372e3e0116efd9e0eb2a0b8f273bd8b39c
1 /* PR rtl-optimization/69891 */
2 /* { dg-do run } */
3 /* { dg-options "-O -fno-tree-fre -mstringop-strategy=libcall -Wno-psabi" } */
4 /* { dg-additional-options "-mno-sse" { target ia32 } } */
6 typedef unsigned short A;
7 typedef unsigned short B __attribute__ ((vector_size (32)));
8 typedef unsigned int C;
9 typedef unsigned int D __attribute__ ((vector_size (32)));
10 typedef unsigned long long E;
11 typedef unsigned long long F __attribute__ ((vector_size (32)));
13 __attribute__((noinline, noclone)) unsigned
14 foo(D a, B b, D c, F d)
16 b /= (B) {1, -c[0]} | 1;
17 c[0] |= 7;
18 a %= c | 1;
19 c ^= c;
20 return a[0] + b[15] + c[0] + d[3];
23 int
24 main ()
26 unsigned x = foo ((D) {}, (B) {}, (D) {}, (F) {});
27 if (x != 0)
28 __builtin_abort ();
29 return 0;