Adds the AVX-512 VEX encoded scalar opmask instructions and extends the existing VEX tables. Unfortunately there are no Appendix A/B style documented Intel manuals available for AVX-512 in the same format as the existing x86 instruction sets. Therefore, the introduced type name 'K' is invented by us, based on the Intel AVX-512 instruction descriptions.
Makes necessary modification in decoder to support VEX encoded AVX-512 instructions, specifically decoding and encoding more cases of the vex W opcode extension bit.
Adds support to encoder for new VEX encodings. Fixes a bug to encode primary opcode byte in 3-byte VEX versions. Adds support for prefix_ext indirection to after vex_ext in decoder.
Adds new operand types TYPE_K_REG, TYPE_K_MODRM, TYPE_K_MODRM_R, TYPE_K_VEX, TYPE_K_EVEX.
Adds all INSTR_CREATE macros for the new instructions.
Adds all test macros to x86 api.ir test.
Adds raw encodings decoder test to x86 common.decode test.
Fixes existing disassemble test.
Issue: #1312