2 /* { dg-options "-O3" } */
10 #define TYPE2 long long
13 signed TYPE1 a
[N
], b
[N
], g
[N
];
14 unsigned TYPE1 c
[N
], h
[N
];
15 signed TYPE2 d
[N
], e
[N
], j
[N
];
16 unsigned TYPE2 f
[N
], k
[N
];
18 __attribute__((noinline
)) void
22 for (i
= 0; i
< N
; i
++)
26 __attribute__((noinline
)) void
30 for (i
= 0; i
< N
; i
++)
34 __attribute__((noinline
)) void
38 for (i
= 0; i
< N
; i
++)
42 __attribute__((noinline
)) void
46 for (i
= 0; i
< N
; i
++)
50 __attribute__((noinline
)) void
54 for (i
= 0; i
< N
; i
++)
58 __attribute__((noinline
)) void
62 for (i
= 0; i
< N
; i
++)
66 __attribute__((noinline
)) void
70 for (i
= 0; i
< N
; i
++)
74 __attribute__((noinline
)) void
78 for (i
= 0; i
< N
; i
++)
82 __attribute__((noinline
)) void
86 for (i
= 0; i
< N
; i
++)
94 for (i
= 0; i
< N
; i
++)
97 c
[i
] = (rand () << 1) | (rand () & 1);
98 b
[i
] = (i
* 85) & (sizeof (TYPE1
) * __CHAR_BIT__
- 1);
100 d
[i
] = (rand () << 1) | (rand () & 1);
101 d
[i
] |= (unsigned long long) c
[i
] << 32;
102 e
[i
] = (i
* 85) & (sizeof (TYPE2
) * __CHAR_BIT__
- 1);
109 for (i
= 0; i
< N
; i
++)
110 if (g
[i
] != (signed TYPE1
) (a
[i
] << b
[i
])
111 || h
[i
] != (unsigned TYPE1
) (c
[i
] >> b
[i
])
112 || j
[i
] != (signed TYPE2
) (d
[i
] << e
[i
])
113 || k
[i
] != (unsigned TYPE2
) (f
[i
] >> e
[i
]))
118 for (i
= 0; i
< N
; i
++)
119 if (g
[i
] != (signed TYPE1
) (a
[i
] >> b
[i
])
120 || j
[i
] != (signed TYPE2
) (d
[i
] >> e
[i
])
121 || k
[i
] != (unsigned TYPE2
) (f
[i
] >> b
[i
]))
124 for (i
= 0; i
< N
; i
++)
125 if (j
[i
] != (signed TYPE2
) (d
[i
] << b
[i
]))
128 for (i
= 0; i
< N
; i
++)
129 if (j
[i
] != (signed TYPE2
) (d
[i
] >> b
[i
]))