1 /* PR tree-optimization/102738 */
2 /* { dg-options "-O2 -fdump-tree-evrp" } */
3 /* { dg-do compile { target int128 } } */
5 /* Remove arithmetic shift right when the LHS is known to be 0 or -1. */
7 int a1(__int128 f
, int g
)
10 return (f
>> 127) >> g
;
16 return (f
>> 31) >> g
;
21 if (f
== 0 || f
== -1)
23 __builtin_unreachable();
30 __builtin_unreachable();
44 __builtin_unreachable();
47 /* { dg-final { scan-tree-dump-times " >> 127" 1 "evrp" } } */
48 /* { dg-final { scan-tree-dump-times " >> 31" 1 "evrp" } } */
49 /* { dg-final { scan-tree-dump-times " >> " 2 "evrp" } } */