Vineet Gupta <[email protected]> writes:
>> ...is from late-combine2, so after RA has completed, whereas the earlier
>> dump is from mode switching, so it's hard to tell what late-combine2 is
>> operating on. Could you give the RTL as late-combine2 sees it?
>> (That would normally be the result of pass_postreload_cse.)
>
> Right, it is attached here.
Thanks. I think the issue is that:
(insn 9 8 27 2 (parallel [
(asm_operands/v ("fsrm %0") ("") 0 [
(reg:SI 15 a5 [139])
]
[
(asm_input:SI ("r") frm-run-1.c:33)
]
[] frm-run-1.c:33)
(clobber (reg:V4096QI 69 frm))
]) "frm-run-1.c":33:3 -1
(nil))
is seen as invalidating FRM and so:
(insn 27 9 28 2 (set (reg:SI 15 a5 [144])
(reg:SI 69 frm)) "frm-run-1.c":43:1 2829 {frrmsi}
(nil))
is seen as an uninitialised read. I suppose clobbers in inline asms
need to be treated as real definitions rather than just kills.
Richard