https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70429
Ilya Enkovich <ienkovich at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2016-03-28 CC| |ienkovich at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Ilya Enkovich <ienkovich at gcc dot gnu.org> --- Confirm. Looks like combine issue. Before combine: 6: r94:DI=0x14ff6e2207db5d1f 7: {r93:DI=r94:DI>>r92:SI#0;clobber flags:CC;} REG_DEAD r94:DI REG_DEAD r92:SI REG_UNUSED flags:CC REG_EQUAL 0x14ff6e2207db5d1f>>r92:SI#0 8: {r95:SI=r93:DI#0>>0x4;clobber flags:CC;} Combine log: allowing combination of insns 6, 7 and 8 original costs 3 + 4 + 4 = 11 replacement costs 3 + 4 = 7 deferring deletion of insn with uid = 6. modifying insn i2 7: r93:DI=0x14ff6e2207db5d1 deferring rescan insn with uid = 7. modifying insn i3 8: {r95:SI#0=r93:DI>>r92:SI#0;clobber flags:CC;} This affects 4 high bits if the result.