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 } } */
5 
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)));
12 
13 __attribute__((noinline, noclone)) unsigned
foo(D a,B b,D c,F d)14 foo(D a, B b, D c, F d)
15 {
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];
21 }
22 
23 int
main()24 main ()
25 {
26   unsigned x = foo ((D) {}, (B) {}, (D) {}, (F) {});
27   if (x != 0)
28     __builtin_abort ();
29   return 0;
30 }
31