https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94892

--- Comment #10 from Drea Pinski <pinskia at gcc dot gnu.org> ---
a[0,1]|b[-1,0] != 1 vs a[0,1]|b[-1,0] != -1

for the first case we know that a[0,1] != 1 as b does not matter what the value
is. 
For the second case we know that b[0,-1] != -1 as it does not matter what value
a is it won't be -1.

So in theory we could match:
(ne (ior:c zero_one_valuep@0 zero_negone_valuep@1) onep) -> (ne @0 onep)
(ne (ior:c zero_one_valuep@0 zero_negone_valuep@1) negonep) -> (ne @1 negonep)

Reply via email to