Add artificial interferences between 2 non-overlapping LiveIntervals

A hardware instruction has the constraint that the result register v0 and the first input register v2 can’t be assigned to the same physical register. And here we assume virtual registers v0 and v2 are not overlapping in live range. In current framework, is there a way to add artificial interference between v0 and v2?

OP v0, v1 = v2, v3, v4

I understand I can make v0 living from Slot_EarlyClobber. But this overkills by adding interferences between v0 and v3/v4.

On the other side, I can extend v2’s live range by adding an artificial use after the instruction. But this also overkills by adding interference between v1 and v2.

OP v0, v1 = v2, v3, v4
USE v2

Hi @MatzeB,

I understand you have expertise on this topic. Could you share your insight? Thanks.