[Bug target/70429] Wrong code with -O1.
ienkovich at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Mar 28 09:55:00 GMT 2016
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.
More information about the Gcc-bugs
mailing list