https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97315
--- Comment #3 from Aldy Hernandez <aldyh at gcc dot gnu.org> ---
(In reply to Alex Coplan from comment #1)
> Seeing a similar ICE with the following simple C testcase:
>
> int a;
> int b(signed char c, int d) { return c < 0 ? 0 : c >> d; }
> void e(void)
> {
> for (int i = 0; i <= 0; i++)
> while (a)
> b(-(i != 1), i);
> }
>
> $ aarch64-elf-gcc -O2 test.c
evrp and ranger disagree on the singleton for i_6.
(gdb) ptg ranger_val
1
(gdb) ptg evrp_val
0
(gdb) ptgs stmt
iftmp.0_13 = _12 >> i_6;
This is the same issue. stmt is in BB4, which is unreachable.