------- Comment #4 from rth at gcc dot gnu dot org 2009-12-08 00:55 ------- 4.5 regression fixed in pr42269.
I don't know that we'll ever be able to fix the original PR. The problem is that we need to work backward from the "x &= 0xf" through the xor, and see that the srl doesn't actually use the garbage high bits that the srl might have shifted in. And then again back to the first srl. Combine can't handle this because there are 4 insns involved, and it only ever handles merging 3 at a time. So we'd need some sort of new pass that would be able to see these extensions are unneeded. -- rth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P3 |P4 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27469