By: anonymou5 (no.delete@this.spam.com), May 24, 2022 4:02 pm
Room: Moderated Discussions
Michael S (already5chosen.delete@this.yahoo.com) on May 23, 2022 1:04 am wrote:
> For comparison, AVX512 (EVEX) has to live with ~0.1% of
> iAMD64 op-code space (10 fixed bits in first 2 bytes).
EVEX is just 62h followed by 3 bytes that widen existing operand fields, add
things like masking and rounding and broadcasting and zeroing, and pick one
of the existing opcode maps; the next byte then picks within the opcode map.
Lots of EVEX stuff in the 2-byte 0Fh and the 3-byte 0Fh,38h and 0Fh,3Ah maps
already, und fundamentally even the classic 1-byte map could be EVEX-encoded.
So your "has to live with ~0.1%" statement makes it sound like something bad
when it really doesn't seem to be.
The EVEX.mmm field strikes me as a more important factor here -- Intel just
added MAP5 and MAP6 there recently, to nicely fold in FP16 support. Widen it
to 4 bits, and you got up to 16 maps to pick from, including ones that AMD
allocated in the past, for XOP 8/9/A.
Another important one are the groups -- especially 0Fh,01h and 0Fh,C7h and
0Fh,AEh are getting crowded... but there are options for growth.
Overall, "running out" does seem to be a near- or medium-term problem.
> For comparison, AVX512 (EVEX) has to live with ~0.1% of
> iAMD64 op-code space (10 fixed bits in first 2 bytes).
EVEX is just 62h followed by 3 bytes that widen existing operand fields, add
things like masking and rounding and broadcasting and zeroing, and pick one
of the existing opcode maps; the next byte then picks within the opcode map.
Lots of EVEX stuff in the 2-byte 0Fh and the 3-byte 0Fh,38h and 0Fh,3Ah maps
already, und fundamentally even the classic 1-byte map could be EVEX-encoded.
So your "has to live with ~0.1%" statement makes it sound like something bad
when it really doesn't seem to be.
The EVEX.mmm field strikes me as a more important factor here -- Intel just
added MAP5 and MAP6 there recently, to nicely fold in FP16 support. Widen it
to 4 bits, and you got up to 16 maps to pick from, including ones that AMD
allocated in the past, for XOP 8/9/A.
Another important one are the groups -- especially 0Fh,01h and 0Fh,C7h and
0Fh,AEh are getting crowded... but there are options for growth.
Overall, "running out" does seem to be a near- or medium-term problem.