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.