4 ms·
Yeah, I would think most mask registers values just "pop into existence" as already nonzero based on a full write to the register, e.g., from a comparison, a lo
by BeeOnRope 7y ago
Yeah, I would think most mask registers values just "pop into existence" as already nonzero based on a full write to the register, e.g., from a comparison, a load from memory, move from GP reg, etc.
I can't see all that many scenarios where you want a zeroed register to begin with. Many of the cases that happens in the GP world (e.g., zeroing out some accumulator or pointer or whatever) just don't come up in mask registers.
I am not sure about the cost to implement it. I don't think it's all that complicated to describe how it would work, but it does occur in the renamer, which is a critical path on modern chips, so probably the less complication there, the better. We already know that not all zeroing idioms are recognized (like sub same, same) on some chips, so that is some indication that it's not super cheap (or else you'd think they'd have just implemented all the idioms the first time around).