modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/compile/pr70240.c (about) 1 typedef short v16hi __attribute__ ((vector_size (32))); 2 typedef int v8si __attribute__ ((vector_size (32))); 3 typedef long long v4di __attribute__ ((vector_size (32))); 4 5 int 6 foo(int u16_0, int u32_0, int u64_0, int u16_1, int u32_1, int u64_1, v16hi v32u16_0, v8si v32u32_0, v4di v32u64_0, v16hi v32u16_1, v8si v32u32_1, v4di v32u64_1) 7 { 8 do { 9 v32u16_1 += (v16hi){ v32u32_1[7], ~v32u32_1[3], 0, v32u64_0[0]}; 10 u32_0 = (u32_0 << 31) | (u32_0 >> ~v32u32_0[1]); 11 u64_0 += 1; 12 v32u64_0[2] <<= v32u64_0[2] & 63; 13 u16_1 = (u16_1 >> (v32u16_0[11] & 15)) | (u16_1 << (-v32u16_0[11] & 15)); 14 v32u16_0 -= ~v32u16_1; 15 v32u32_1[5] += u32_1; 16 if (v32u32_1[3] >= 0) { 17 u64_1 -= ~v32u64_1[1]; 18 v32u16_1 += (v16hi){ -u64_1, ~u32_0, ~u16_1, v32u32_1[1], 0, ~v32u16_1[2], ~v32u64_1[2], ~v32u32_0[7]}; 19 } 20 v32u64_1 += (v4di){0, 0, ~v32u32_0[5]}; 21 v32u32_1 *= (v8si){0, ~v32u32_1[6]}; 22 v32u64_0[3] &= 0x1234; 23 v32u64_0 += (v4di){v32u32_1[6]}; 24 } while (u16_0 < 0x1234); 25 return u64_0 + u16_1; 26 }