1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
/* PR debug/86194 */
/* { dg-do compile { target int128 } } */
/* { dg-options "-O -g -mavx512bw" } */
typedef unsigned U __attribute__ ((vector_size (64)));
typedef unsigned long V __attribute__ ((vector_size (64)));
typedef unsigned __int128 W __attribute__ ((vector_size (64)));
U u;
W
bar (W w)
{
U k = u;
w <<= (W)(U) { 5, 3, 3, 0, 7, 3, 1, 3, k[7] };
k += (U) { -(char)w[3] } != k;
return (W)k + w;
}
void
foo (void)
{
u = (U){ bar ((W)(V) { 0, ~0, 0, 0, 0, 0, ~0 })[0] };
}
|