https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88331

--- Comment #10 from Uroš Bizjak <ubizjak at gmail dot com> ---
As mentioned in comment #5, this is due to r266345 (AKA fix for PR84877). It
looks that the change now emits RTL sequence outside of BB.

This is what can be seen at the end of .reload dump:

...

(code_label 567 566 568 66 8 (nil) [6 uses])
(note 568 567 571 66 [bb 66] NOTE_INSN_BASIC_BLOCK)
(insn 571 568 572 66 (clobber (reg/i:SI 0 ax)) "ttt.c":139:1 -1
     (nil))
(insn 572 571 573 66 (clobber (reg:SI 0 ax [orig:419 <retval> ] [419]))
"ttt.c":139:1 -1
     (nil))
(insn 573 572 851 66 (use (reg/i:SI 0 ax)) "ttt.c":139:1 -1
     (nil))
;;  succ:       EXIT [always]  count:1311748 (estimated locally) (FALLTHRU)
;; lr  out       0 [ax] 6 [bp] 7 [sp] 16 [argp] 19 [frame]

(note 851 573 998 NOTE_INSN_DELETED)
;; Insn is not within a basic block
(insn 998 851 999 (parallel [
            (set (reg:DI 764)
                (plus:DI (reg/f:DI 19 frame)
                    (const_int -224 [0xffffffffffffff20])))
            (clobber (reg:CC 17 flags))
        ]) 191 {*adddi_1}
     (nil))
;; Insn is not within a basic block
(insn 999 998 1000 (parallel [
            (set (reg:DI 763)
                (plus:DI (reg:DI 764)
                    (const_int 31 [0x1f])))
            (clobber (reg:CC 17 flags))
        ]) 191 {*adddi_1}
     (nil))
;; Insn is not within a basic block
(insn 1000 999 1001 (parallel [
            (set (reg:DI 765)
                (lshiftrt:DI (reg:DI 763)
                    (const_int 5 [0x5])))
            (clobber (reg:CC 17 flags))
        ]) 564 {*lshrdi3_1}
     (expr_list:REG_EQUAL (udiv:DI (reg:DI 763)
            (const_int 32 [0x20]))
        (nil)))
;; Insn is not within a basic block
(insn 1001 1000 0 (parallel [
            (set (reg/f:DI 766)
                (ashift:DI (reg:DI 765)
                    (const_int 5 [0x5])))
            (clobber (reg:CC 17 flags))
        ]) 518 {*ashldi3_1}
     (nil))

Reply via email to