Closed akharito closed 4 years ago
Thank you for the patch. Is preferred_encoding_t a flag to specify VEX or EVEX (default) as the following?
vpdpbusd(xmm1, xmm2, xmm3); // use EVEX
vpdpbusd(xmm1, xmm2, xmm3, VEX);
How about that CodeGenerator
has the flag as the following?
CodeGenerator code;
vpdpbusd(xmm1, xmm2, xmm3); // use EVEX
code.setVEXencodingForVNNI();
vpdpbusd(xmm1, xmm2, xmm3); // use VEX
code.setVEXencodingForVNNI(false);
vpdpbusd(xmm1, xmm2, xmm3); // use EVEX
I tried to think again, it may be better to change encoding as you proposed because it is stateless.
I modified that the default encoding is always evex even if XBYAK_DISABLE_AVX512 is defined. https://github.com/herumi/xbyak/commit/6b3eb9c1e46bfbb2081332c7a55cb6c73419a00e
@herumi , the variant after refactoring looks good to me! should I apply these changes in pull request branch?
@akharito Thank you for checking my code. No, you don't need it. I'll merge them to the master branch.
Add support of Intel® AVX-VNNI instruction set described in updated Intel® Architecture Instruction Set Extensions Programming Reference