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
6typedef unsigned short A;
7typedef unsigned short B __attribute__ ((vector_size (32)));
8typedef unsigned int C;
9typedef unsigned int D __attribute__ ((vector_size (32)));
10typedef unsigned long long E;
11typedef unsigned long long F __attribute__ ((vector_size (32)));
12
13__attribute__((noinline, noclone)) unsigned
14foo(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
23int
24main ()
25{
26  unsigned x = foo ((D) {}, (B) {}, (D) {}, (F) {});
27  if (x != 0)
28    __builtin_abort ();
29  return 0;
30}
31