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