2 /* { dg-options "-O3" } */
10 #define TYPE2 long long
13 signed TYPE1 a
[N
], b
, g
[N
];
14 unsigned TYPE1 c
[N
], h
[N
];
15 signed TYPE2 d
[N
], e
, j
[N
];
16 unsigned TYPE2 f
[N
], k
[N
];
22 __attribute__((noinline
)) void
26 for (i
= 0; i
< N
; i
++)
30 __attribute__((noinline
)) void
34 for (i
= 0; i
< N
; i
++)
38 __attribute__((noinline
)) void
42 for (i
= 0; i
< N
; i
++)
46 __attribute__((noinline
)) void
50 for (i
= 0; i
< N
; i
++)
54 __attribute__((noinline
)) void
58 for (i
= 0; i
< N
; i
++)
62 __attribute__((noinline
)) void
66 for (i
= 0; i
< N
; i
++)
70 __attribute__((noinline
)) void
74 for (i
= 0; i
< N
; i
++)
78 __attribute__((noinline
)) void
82 for (i
= 0; i
< N
; i
++)
86 __attribute__((noinline
)) void
90 for (i
= 0; i
< N
; i
++)
100 for (i
= 0; i
< N
; i
++)
103 c
[i
] = (rand () << 1) | (rand () & 1);
105 d
[i
] = (rand () << 1) | (rand () & 1);
106 d
[i
] |= (unsigned long long) c
[i
] << 32;
113 for (i
= 0; i
< N
; i
++)
114 if (g
[i
] != (signed TYPE1
) (a
[i
] << S (b
))
115 || h
[i
] != (unsigned TYPE1
) (c
[i
] >> S (b
))
116 || j
[i
] != (signed TYPE2
) (d
[i
] << S (e
))
117 || k
[i
] != (unsigned TYPE2
) (f
[i
] >> S (e
)))
122 for (i
= 0; i
< N
; i
++)
123 if (g
[i
] != (signed TYPE1
) (a
[i
] >> S (b
))
124 || j
[i
] != (signed TYPE2
) (d
[i
] >> S (e
))
125 || k
[i
] != (unsigned TYPE2
) (f
[i
] >> S (b
)))
128 for (i
= 0; i
< N
; i
++)
129 if (j
[i
] != (signed TYPE2
) (d
[i
] << S (b
)))
132 for (i
= 0; i
< N
; i
++)
133 if (j
[i
] != (signed TYPE2
) (d
[i
] >> S (b
)))