This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/47449] [32] canât find a register in class âDIREGâ while reloading âasmâ


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47449

--- Comment #2 from H.J. Lu <hjl.tools at gmail dot com> 2011-01-24 23:16:57 UTC ---
fwprop1 turns:

(insn 2 4 3 2 (set (reg/v/f:DI 61 [ trans ])
        (zero_extend:DI (reg:SI 5 di [ trans ]))) x.c:4 115
{*zero_extendsidi2_r
ex64}
     (nil))

(note 3 2 6 2 NOTE_INSN_FUNCTION_BEG)

(insn 6 3 7 2 (parallel [
            (set (reg:SI 62 [ ret ])
                (asm_operands:SI ("negl %0
    ") ("=D") 0 []
                     []
                     [] x.c:9))
            (clobber (reg:QI 18 fpsr))
            (clobber (reg:QI 17 flags))
        ]) x.c:6 -1
     (nil))

into

(insn 6 3 9 2 (parallel [
            (set (reg:SI 62 [ ret ])
                (asm_operands:SI ("negl %0
    ") ("=D") 0 []
                     []
                     [] x.c:9))
            (clobber (reg:QI 18 fpsr))
            (clobber (reg:QI 17 flags))
        ]) x.c:6 -1
     (expr_list:REG_UNUSED (reg:QI 18 fpsr)
        (expr_list:REG_UNUSED (reg:QI 17 flags)
            (nil))))

IRA can't deal with it.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]