In Intel(R) 64 and IA-32 Architectures Software Developer's Manual Combined Volumes: 1, 2A, 2B, 2C 1, 2A, 2B, 2C, 2D, 3A, 3B, 3C, 3D, and 4 Order Number: 325462-080US June 2023.
2.7.5 Compressed Displacement (disp8*N) Support in EVEX For memory addressing using disp8 form, EVEX-encoded instructions always use a compressed displacement scheme by multiplying disp8 in conjunction with a scaling factor N that is determined based on the vector length, the value of EVEX.b bit (embedded broadcast) and the input element size of the instruction.
I want to know "the input element size of the instruction" exactly.
There are two questions about "the input element size" :
- What is the exact definition of "input element size" ?
- Is there a general law to know the input element size for the instruction in each row in the instruction tables in the Intel PDF Manual ?
I'm now making an x86_64 Assembler (Compiler) with SSE/AVX/AVX2/AVX512. So, if I mistook the input size incorrectly, it would fail to encode a displacement value in a disp8 byte.