https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71119
Uroš Bizjak <ubizjak at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2016-05-15
Component|target |rtl-optimization
Depends on| |71118
Target Milestone|--- |7.0
Summary|[4.9 Regression] ftoit |[4.9,5,6,7 Regression]
|instruction not emitted for |ftoit instruction not
|double -> long bitcast |emitted for double -> long
| |bitcast
Ever confirmed|0 |1
--- Comment #1 from Uroš Bizjak <ubizjak at gmail dot com> ---
Probably the same root cause as in PR 71118, for some reason combine pass is
unable to propagate (insn 2) into (insn 10).
(insn 2 4 3 2 (set (reg/v:DF 71 [ f ])
(reg:DF 48 $f16 [ f ])) ftoit.c:16 221 {*movdf}
(expr_list:REG_DEAD (reg:DF 48 $f16 [ f ])
(nil)))
(note 3 2 10 2 NOTE_INSN_FUNCTION_BEG)
(insn 10 3 11 2 (set (reg/i:DI 0 $0)
(subreg:DI (reg/v:DF 71 [ f ]) 0)) ftoit.c:19 226 {*movdi}
(expr_list:REG_DEAD (reg/v:DF 71 [ f ])
(nil)))
Referenced Bugs:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71118
[Bug 71118] [5,6,7 Regression] ftois instruction not emitted for float -> int
bitcast