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.
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
MOVPRFXwill be used and avoid delay freeing if possible.