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.

Reply via email to