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