1
0
mirror of https://github.com/bitdefender/bddisasm.git synced 2024-12-23 06:28:13 +00:00
bddisasm/bddisasm_test/x86/special/invalid_evex_64_skip.asm
BITDEFENDER\vlutas 9ba1e6a2f9 Added support for new Intel instructions, per Intel ISA extensions document #319433-046 (September 2022): PREFETCHITI, RAO-INT, CMPCCXADD, WRMSRNS, MSRLIST, AMX-FP16, AVX-IFMA, AVX-NE-CONVERT, AVX-VNNI-INT8.
Multiple minor fixes to existing instructions.
Moved x86 decoding tests in a separate directory & improved the test script.
2022-10-04 12:22:59 +03:00

67 lines
3.9 KiB
NASM

bits 64
; EVEX.b (broadcast) enabled for an instruction which does not support broadcast (mod: mem)
db 0x62, 0xf1, 0x7d, 0x18, 0xc4, 0x52, 0x40, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90
; EVEX.b (ER/SAE) enabled for an instruction which does not support ER/SAE (mod: reg)
db 0x62, 0xf1, 0x7d, 0x18, 0xc4, 0xd2, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90
; EVEX.aaa != 0 for an instruction which does not support masking
db 0x62, 0xf1, 0x7d, 0x0b, 0xc4, 0x52, 0x40, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90
; EVEX.aaa != 0 for an instruction which does not support masking
db 0x62, 0xf1, 0x7d, 0x0b, 0xc4, 0xd2, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90
; EVEX.z enabled for an instruction which does not support zeroing
db 0x62, 0xf1, 0x7d, 0x88, 0xc4, 0x52, 0x40, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90
; EVEX.z enabled for an instruction which does not support zeroing
db 0x62, 0xf1, 0x7d, 0x88, 0xc4, 0xd2, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90
; EVEX.aaa == 0 for an instruction which has mandatory masking
db 0x62, 0xf2, 0xfd, 0x08, 0x92, 0x52, 0x40, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90
; EVEX.aaa == 0 for an instruction which has mandatory masking
db 0x62, 0xf2, 0xfd, 0x28, 0x92, 0x52, 0x40, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90
; EVEX.aaa == 0 for an instruction which has mandatory masking
db 0x62, 0xf2, 0xfd, 0x48, 0x92, 0x52, 0x40, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90
; EVEX.b (broadcast) enabled for an instruction which does not support broadcast (mod: mem)
db 0x62, 0xf2, 0xfd, 0x19, 0x92, 0x52, 0x40, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90
; EVEX.b (broadcast) enabled for an instruction which does not support broadcast (mod: mem)
db 0x62, 0xf2, 0xfd, 0x39, 0x92, 0x52, 0x40, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90
; EVEX.b (broadcast) enabled for an instruction which does not support broadcast (mod: mem)
db 0x62, 0xf2, 0xfd, 0x59, 0x92, 0x52, 0x40, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90
; EVEX.z enabled for an instruction which does not support zeroing
db 0x62, 0xf2, 0xfd, 0x89, 0x92, 0x52, 0x40, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90
; EVEX.z enabled for an instruction which does not support zeroing
db 0x62, 0xf2, 0xfd, 0xa9, 0x92, 0x52, 0x40, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90
; EVEX.z enabled for an instruction which does not support zeroing
db 0x62, 0xf2, 0xfd, 0xc9, 0x92, 0x52, 0x40, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90
; Destination reg equal to the first source operand for instruction which must have dst != sources
db 0x62, 0xf6, 0x7f, 0x49, 0x56, 0xdb, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90
; Destination reg equal to the second source operand for instruction which must have dst != sources
db 0x62, 0xf6, 0x67, 0x49, 0x56, 0xdf, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90
; EVEX.VVVV != 0 for instruction that does not use EVEX.VVVV
db 0x62, 0xf1, 0x64, 0xa9, 0x11, 0xdf, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90
; EVEX.V' set for an instruction which does not use it
db 0x62, 0xf1, 0x7c, 0xa1, 0x11, 0xdf, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90
; EVEX.z set for memory operand
db 0x62, 0xf1, 0x7c, 0xa9, 0x11, 0x1f, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90
; EVEX.z set but EVEX.aaa == 0
db 0x62, 0xf3, 0x7d, 0xa8, 0x19, 0xc9, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90
; EVEX.z set but EVEX.aaa == 0
db 0x62, 0xf3, 0xfd, 0xa8, 0x0b, 0xc9, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90