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

--- Comment #3 from Tamar Christina <tnfchris at gcc dot gnu.org> ---
before the bounds variable didn't have any range attached to it.

e.g.

bnd.704_180 = _181 - _132;

but now it shows

# RANGE [irange] unsigned int [1, 2147483647]
bnd.704_180 = _181 - _132;

For some reason ranges don't seem to be determined on shifts.

This causes it to remove
some codepaths that are not reachable and results in the
removal of instructions, hende the change in asm output.

The range above is correct, due to the loop versioning that's happening
in the loop.

So I think these are testisms, but but the generic change looks correct.

I think someone with more PPC knowledge should have a look and say if
the changes are resulting in worse code or not.  I don't want to blindly
update the testcase.

Reply via email to