Open a74nh opened 3 weeks ago
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch See info in area-owners.md if you want to be subscribed.
movprfx
happens at the codegen time, but we could add hints in the intrinsic table to call out which instructions can have movprfx
and then LSRA can use that information to decide if it should delay free or not.
We will see if there are any examples where we produce sub-optimal code and then prioritize this item.
See here and the following comments.
LSRA will always delay free operands for a RMW operand embedded in a conditional select. One reason for this is to ensure the generated instruction does not use the destination register in other operations. This is because the architecture will not allow this if the instruction is prefixed by a
MOVPRFX
.LSRA should instead determine if a
MOVPRFX
will be used and avoid delay freeing if possible.