1
0
mirror of https://github.com/bitdefender/bddisasm.git synced 2024-12-22 22:18:09 +00:00
bddisasm/isagenerator/instructions/table_0F_3A.dat
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

72 lines
5.4 KiB
Plaintext

# Mnemonic Explicit Operands Implicit Encoding Flags, Prefixes, Set, Category, Class, RW map, Additional ops
#------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
# 0x00 - 0x0F
ROUNDPS Vx,Wx,Ib nil [ 0x66 0x0F 0x3A 0x08 /r ib] s:SSE4, t:SSE, w:W|R|R, e:2
ROUNDPD Vx,Wx,Ib nil [ 0x66 0x0F 0x3A 0x09 /r ib] s:SSE4, t:SSE, w:W|R|R, e:2
ROUNDSS Vss,Wss,Ib nil [ 0x66 0x0F 0x3A 0x0A /r ib] s:SSE4, t:SSE, w:W|R|R, e:3
ROUNDSD Vsd,Wsd,Ib nil [ 0x66 0x0F 0x3A 0x0B /r ib] s:SSE4, t:SSE, w:W|R|R, e:3
BLENDPS Vx,Wx,Ib nil [ 0x66 0x0F 0x3A 0x0C /r ib] s:SSE4, t:SSE, w:RW|R|R, e:4
BLENDPD Vx,Wx,Ib nil [ 0x66 0x0F 0x3A 0x0D /r ib] s:SSE4, t:SSE, w:RW|R|R, e:4
PBLENDW Vx,Wx,Ib nil [ 0x66 0x0F 0x3A 0x0E /r ib] s:SSE4, t:SSE, w:RW|R|R, e:4
PALIGNR Pq,Qq,Ib nil [ NP 0x0F 0x3A 0x0F /r ib] s:SSSE3, t:MMX, w:RW|R|R
PALIGNR Vx,Wx,Ib nil [ 0x66 0x0F 0x3A 0x0F /r ib] s:SSSE3, t:SSE, w:RW|R|R, e:4
# 0x10 - 0x1F
# TODO: for PEXTRx, a smaller size is accessed, in fact.
PEXTRB Mb,Vdq,Ib nil [ 0x66 0x0F 0x3A 0x14 /r:mem ib] s:SSE4, t:SSE, w:W|R|R, e:5
PEXTRB Ry,Vdq,Ib nil [ 0x66 0x0F 0x3A 0x14 /r:reg ib] s:SSE4, t:SSE, w:W|R|R, e:5, a:D64
PEXTRW Mw,Vdq,Ib nil [ 0x66 0x0F 0x3A 0x15 /r:mem ib] s:SSE4, t:SSE, w:W|R|R, e:5
PEXTRW Ry,Vdq,Ib nil [ 0x66 0x0F 0x3A 0x15 /r:reg ib] s:SSE4, t:SSE, w:W|R|R, e:5, a:D64
PEXTRD Md,Vdq,Ib nil [ 0x66 0x0F 0x3A 0x16 /r:mem ib] s:SSE4, t:SSE, w:W|R|R, e:5
PEXTRD Ry,Vdq,Ib nil [ 0x66 0x0F 0x3A 0x16 /r:reg ib] s:SSE4, t:SSE, w:W|R|R, e:5, a:D64
PEXTRQ Mq,Vdq,Ib nil [ rexw 0x66 0x0F 0x3A 0x16 /r:mem ib] s:SSE4, t:SSE, w:W|R|R, e:5
PEXTRQ Ry,Vdq,Ib nil [ rexw 0x66 0x0F 0x3A 0x16 /r:reg ib] s:SSE4, t:SSE, w:W|R|R, e:5
EXTRACTPS Ed,Vdq,Ib nil [ 0x66 0x0F 0x3A 0x17 /r ib] s:SSE4, t:SSE, w:W|R|R, e:5
# 0x20 - 0x2F
PINSRB Vdq,Mb,Ib nil [ 0x66 0x0F 0x3A 0x20 /r:mem ib] s:SSE4, t:SSE, w:RW|R|R, e:5
PINSRB Vdq,Ry,Ib nil [ 0x66 0x0F 0x3A 0x20 /r:reg ib] s:SSE4, t:SSE, w:RW|R|R, e:5
INSERTPS Vdq,Md,Ib nil [ 0x66 0x0F 0x3A 0x21 /r:mem ib] s:SSE4, t:SSE, w:RW|R|R, e:5
INSERTPS Vdq,Udq,Ib nil [ 0x66 0x0F 0x3A 0x21 /r:reg ib] s:SSE4, t:SSE, w:RW|R|R, e:5
PINSRD Vdq,Ed,Ib nil [ 0x66 0x0F 0x3A 0x22 /r ib] s:SSE4, t:SSE, w:RW|R|R, e:5
PINSRQ Vdq,Eq,Ib nil [ rexw 0x66 0x0F 0x3A 0x22 /r ib] s:SSE4, t:SSE, w:RW|R|R, e:5
# 0x30 - 0x3F
# 0x40 - 0x4F
DPPS Vx,Wx,Ib nil [ 0x66 0x0F 0x3A 0x40 /r ib] s:SSE4, t:SSE, w:RW|R|R, e:2
DPPD Vdq,Wdq,Ib nil [ 0x66 0x0F 0x3A 0x41 /r ib] s:SSE4, t:SSE, w:RW|R|R, e:2
MPSADBW Vdq,Wdq,Ib nil [ 0x66 0x0F 0x3A 0x42 /r ib] s:SSE4, t:SSE, w:RW|R|R, e:4
PCLMULQDQ Vdq,Wdq,Ib nil [ 0x66 0x0F 0x3A 0x44 /r ib] s:PCLMULQDQ, t:PCLMULQDQ, w:RW|R|R, e:4
# 0x50 - 0x5F
# 0x60 - 0x6F
PCMPESTRM Vdq,Wdq,Ib yAX,yDX,XMM0,Fv [ 0x66 0x0F 0x3A 0x60 /r ib] s:SSE42, t:SSE, w:R|R|R|R|R|W|W, f:PCMPSTR, e:4
PCMPESTRI Vdq,Wdq,Ib yAX,yDX,yCX,Fv [ 0x66 0x0F 0x3A 0x61 /r ib] s:SSE42, t:SSE, w:R|R|R|R|R|W|W, f:PCMPSTR, e:4
PCMPISTRM Vdq,Wdq,Ib XMM0,Fv [ 0x66 0x0F 0x3A 0x62 /r ib] s:SSE42, t:SSE, w:R|R|R|W|W, f:PCMPSTR, e:4
PCMPISTRI Vdq,Wdq,Ib yCX,Fv [ 0x66 0x0F 0x3A 0x63 /r ib] s:SSE42, t:SSE, w:R|R|R|W|W, f:PCMPSTR, e:4
# 0x70 - 0x7F
# 0x80 - 0x8F
# 0x90 - 0x9F
# 0xA0 - 0xAF
# 0xB0 - 0xBF
# 0xC0 - 0xCF
SHA1RNDS4 Vdq,Wdq,Ib nil [ NP 0x0F 0x3A 0xCC /r ib] s:SHA, t:SHA, w:RW|R|R, e:4
GF2P8AFFINEQB Vdq,Wdq,Ib nil [ 0x66 0x0F 0x3A 0xCE /r ib] s:GFNI, t:GFNI, w:RW|R|R, e:4
GF2P8AFFINEINVQB Vdq,Wdq,Ib nil [ 0x66 0x0F 0x3A 0xCF /r ib] s:GFNI, t:GFNI, w:RW|R|R, e:4
# 0xD0 - 0xDF
AESKEYGENASSIST Vdq,Wdq,Ib nil [ 0x66 0x0F 0x3A 0xDF /r ib] s:AES, t:AES, w:W|R|R, e:4
# 0xE0 - 0xEF
# 0xF0 - 0xFF
HRESET Ib EAX [ 0xF3 0x0F 0x3A 0xF0 /0xC0 ib] s:HRESET, t:HRESET, w:N|R, m:KERNEL|NOV86|NOTSX