This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/36884] ifcvt poor optimization
- From: "steven at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 15 Oct 2012 07:47:27 +0000
- Subject: [Bug rtl-optimization/36884] ifcvt poor optimization
- Auto-submitted: auto-generated
- References: <bug-36884-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36884
--- Comment #7 from Steven Bosscher <steven at gcc dot gnu.org> 2012-10-15 07:47:27 UTC ---
(In reply to comment #5)
> Obviously, noce_try_sign_mask does it's work unconditionally and does
> not take into account costs. It appears that it assumes that cheap
> barrel shifter is available as on most 32-bit machines.
This can probably be fixed using lshift_cheap_p. You should move
lshift_cheap_p to optabs.c and use it in ifcvt.c to see if lshifts
are cheap.