On 6/3/25 08:24, Richard Sandiford wrote:
> 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.
In general or specifically inside of late_combine ?
Thx,
-Vineet