This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug regression/67288] [4.9 regression] non optimal simple function (useless additional shift/remove/shift/add)
- From: "segher at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sat, 22 Aug 2015 12:43:53 +0000
- Subject: [Bug regression/67288] [4.9 regression] non optimal simple function (useless additional shift/remove/shift/add)
- Auto-submitted: auto-generated
- References: <bug-67288-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67288
Segher Boessenkool <segher at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |segher at gcc dot gnu.org
--- Comment #1 from Segher Boessenkool <segher at gcc dot gnu.org> ---
It does the correct transform, which is needed here in general; it
doesn't notice it already knows 0 < r9 < 0x10000000, which would
simplify a lot of code away.
I think there are dups of this report already. I cannot confirm
this PR because I cannot compile this (it's incomplete code).
I blame this on bad interplay between ivopts and the RTL loop
optimisers, btw.; although it might well be a bug in the RTL doloop
transform, ivopts should deal with doloop too.