[Bug target/64479] [4.8 Regression][SH] wrong optimization delayed-branch
olegendo at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Jan 6 10:43:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64479
Oleg Endo <olegendo at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target|sh3 |sh*-*-*
Status|UNCONFIRMED |NEW
Last reconfirmed| |2015-01-06
CC| |kkojima at gcc dot gnu.org,
| |olegendo at gcc dot gnu.org
Summary|wrong optimization |[4.8 Regression][SH] wrong
|delayed-branch for SH |optimization delayed-branch
Ever confirmed|0 |1
--- Comment #1 from Oleg Endo <olegendo at gcc dot gnu.org> ---
Thanks for pinpointing and reporting this.
trunk (GCC 5): OK
4.9 branch: OK
4.8 branch: NG
This is a problem of the flaky cbranch optimization in 4.8 in the *cbranch_t
splitter code.
For some reason, modified_between_p seems to ignore the fact that the T_REG is
clobbered in call insns. Thus it thinks that it's OK to extend the T_REG
lifetime across a call insn.
More information about the Gcc-bugs
mailing list