On 12/6/22 16:22, Richard Henderson wrote:
Wouldn't it be worth keeping XILF/XIFH here?
I don't know. It's difficult for me to guess whether a dependency chain like
val -> xor -> xor
(3 insns with serial dependencies) is better than
val --> xor
load -/
(3 insns, but only one serial dependency) is better. But there may also be instruction
fusion going on at the micro-architectural level, so that there's really only one xor.
If you have suggestions, I'm all ears.
Related microarchitectural question:
If a 32-bit insn and a 64-bit insn have a similar size encoding (and perhaps even if they
don't), is it better to produce a 64-bit output so that the hw doesn't have a false
dependency on the upper 32-bits of the register?
Just wondering whether most of the distinction between 32-bit and 64-bit opcodes ought to
be discarded, simplifying code generation. The only items that seem most likely to have
real execution time differences are multiply and divide.
r~