You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
bddisasm/isagenerator/instructions/table_legacy_2.dat

149 lines
15 KiB

#
# Copyright (c) 2020 Bitdefender
# SPDX-License-Identifier: Apache-2.0
#
# 0x00 - 0x0F
PSHUFB ; Pq,Qq ; ; NP 0x0F 0x38 0x00 /r ; s:SSSE3, t:MMX, w:RW|R , a:NOREX2
PSHUFB ; Vx,Wx ; ; 0x66 0x0F 0x38 0x00 /r ; s:SSSE3, t:SSE, w:RW|R, e:4, a:NOREX2
PHADDW ; Pq,Qq ; ; NP 0x0F 0x38 0x01 /r ; s:SSSE3, t:MMX, w:RW|R , a:NOREX2
PHADDW ; Vx,Wx ; ; 0x66 0x0F 0x38 0x01 /r ; s:SSSE3, t:SSE, w:RW|R, e:4, a:NOREX2
PHADDD ; Pq,Qq ; ; NP 0x0F 0x38 0x02 /r ; s:SSSE3, t:MMX, w:RW|R , a:NOREX2
PHADDD ; Vx,Wx ; ; 0x66 0x0F 0x38 0x02 /r ; s:SSSE3, t:SSE, w:RW|R, e:4, a:NOREX2
PHADDSW ; Pq,Qq ; ; NP 0x0F 0x38 0x03 /r ; s:SSSE3, t:MMX, w:RW|R , a:NOREX2
PHADDSW ; Vx,Wx ; ; 0x66 0x0F 0x38 0x03 /r ; s:SSSE3, t:SSE, w:RW|R, e:4, a:NOREX2
PMADDUBSW ; Pq,Qq ; ; NP 0x0F 0x38 0x04 /r ; s:SSSE3, t:MMX, w:RW|R , a:NOREX2
PMADDUBSW ; Vx,Wx ; ; 0x66 0x0F 0x38 0x04 /r ; s:SSSE3, t:SSE, w:RW|R, e:4, a:NOREX2
PHSUBW ; Pq,Qq ; ; NP 0x0F 0x38 0x05 /r ; s:SSSE3, t:MMX, w:RW|R , a:NOREX2
PHSUBW ; Vx,Wx ; ; 0x66 0x0F 0x38 0x05 /r ; s:SSSE3, t:SSE, w:RW|R, e:4, a:NOREX2
PHSUBD ; Pq,Qq ; ; NP 0x0F 0x38 0x06 /r ; s:SSSE3, t:MMX, w:RW|R , a:NOREX2
PHSUBD ; Vx,Wx ; ; 0x66 0x0F 0x38 0x06 /r ; s:SSSE3, t:SSE, w:RW|R, e:4, a:NOREX2
PHSUBSW ; Pq,Qq ; ; NP 0x0F 0x38 0x07 /r ; s:SSSE3, t:MMX, w:RW|R , a:NOREX2
PHSUBSW ; Vx,Wx ; ; 0x66 0x0F 0x38 0x07 /r ; s:SSSE3, t:SSE, w:RW|R, e:4, a:NOREX2
PSIGNB ; Pq,Qq ; ; NP 0x0F 0x38 0x08 /r ; s:SSSE3, t:MMX, w:RW|R , a:NOREX2
PSIGNB ; Vx,Wx ; ; 0x66 0x0F 0x38 0x08 /r ; s:SSSE3, t:SSE, w:RW|R, e:4, a:NOREX2
PSIGNW ; Pq,Qq ; ; NP 0x0F 0x38 0x09 /r ; s:SSSE3, t:MMX, w:RW|R , a:NOREX2
PSIGNW ; Vx,Wx ; ; 0x66 0x0F 0x38 0x09 /r ; s:SSSE3, t:SSE, w:RW|R, e:4, a:NOREX2
PSIGND ; Pq,Qq ; ; NP 0x0F 0x38 0x0A /r ; s:SSSE3, t:MMX, w:RW|R , a:NOREX2
PSIGND ; Vx,Wx ; ; 0x66 0x0F 0x38 0x0A /r ; s:SSSE3, t:SSE, w:RW|R, e:4, a:NOREX2
PMULHRSW ; Pq,Qq ; ; NP 0x0F 0x38 0x0B /r ; s:SSSE3, t:MMX, w:RW|R , a:NOREX2
PMULHRSW ; Vx,Wx ; ; 0x66 0x0F 0x38 0x0B /r ; s:SSSE3, t:SSE, w:RW|R, e:4, a:NOREX2
# 0x10 - 0x1F
PBLENDVB ; Vdq,Wdq ; XMM0 ; 0x66 0x0F 0x38 0x10 /r ; s:SSE4, t:SSE, w:RW|R|R, e:4, a:NOREX2
BLENDVPS ; Vdq,Wdq ; XMM0 ; 0x66 0x0F 0x38 0x14 /r ; s:SSE4, t:SSE, w:RW|R|R, e:4, a:NOREX2
BLENDVPD ; Vdq,Wdq ; XMM0 ; 0x66 0x0F 0x38 0x15 /r ; s:SSE4, t:SSE, w:RW|R|R, e:4, a:NOREX2
PTEST ; Vdq,Wdq ; Fv ; 0x66 0x0F 0x38 0x17 /r ; s:SSE4, t:SSE, w:R|R|W, f:CF=m|PF=0|AF=0|ZF=m|SF=0|OF=0, e:4, a:NOREX2
PABSB ; Pq,Qq ; ; NP 0x0F 0x38 0x1C /r ; s:SSSE3, t:MMX, w:W|R , a:NOREX2
PABSB ; Vx,Wx ; ; 0x66 0x0F 0x38 0x1C /r ; s:SSSE3, t:SSE, w:W|R, e:4, a:NOREX2
PABSW ; Pq,Qq ; ; NP 0x0F 0x38 0x1D /r ; s:SSSE3, t:MMX, w:W|R , a:NOREX2
PABSW ; Vx,Wx ; ; 0x66 0x0F 0x38 0x1D /r ; s:SSSE3, t:SSE, w:W|R, e:4, a:NOREX2
PABSD ; Pq,Qq ; ; NP 0x0F 0x38 0x1E /r ; s:SSSE3, t:MMX, w:W|R , a:NOREX2
PABSD ; Vx,Wx ; ; 0x66 0x0F 0x38 0x1E /r ; s:SSSE3, t:SSE, w:W|R, e:4, a:NOREX2
# 0x20 - 0x2F
PMOVSXBW ; Vdq,Wq ; ; 0x66 0x0F 0x38 0x20 /r ; s:SSE4, t:SSE, w:W|R, e:5 , a:NOREX2
PMOVSXBD ; Vdq,Wd ; ; 0x66 0x0F 0x38 0x21 /r ; s:SSE4, t:SSE, w:W|R, e:5 , a:NOREX2
PMOVSXBQ ; Vdq,Ww ; ; 0x66 0x0F 0x38 0x22 /r ; s:SSE4, t:SSE, w:W|R, e:5 , a:NOREX2
PMOVSXWD ; Vdq,Wq ; ; 0x66 0x0F 0x38 0x23 /r ; s:SSE4, t:SSE, w:W|R, e:5 , a:NOREX2
PMOVSXWQ ; Vdq,Wd ; ; 0x66 0x0F 0x38 0x24 /r ; s:SSE4, t:SSE, w:W|R, e:5 , a:NOREX2
PMOVSXDQ ; Vdq,Wq ; ; 0x66 0x0F 0x38 0x25 /r ; s:SSE4, t:SSE, w:W|R, e:5 , a:NOREX2
PMULDQ ; Vx,Wx ; ; 0x66 0x0F 0x38 0x28 /r ; s:SSE4, t:SSE, w:RW|R, e:4, a:NOREX2
PCMPEQQ ; Vx,Wx ; ; 0x66 0x0F 0x38 0x29 /r ; s:SSE4, t:SSE, w:RW|R, e:4, a:NOREX2
MOVNTDQA ; Vx,Mx ; ; 0x66 0x0F 0x38 0x2A /r:mem ; s:SSE4, t:SSE, w:W|R, e:1 , a:NOREX2
PACKUSDW ; Vx,Wx ; ; 0x66 0x0F 0x38 0x2B /r ; s:SSE4, t:SSE, w:RW|R, e:4, a:NOREX2
# 0x30 - 0x3F
PMOVZXBW ; Vdq,Wq ; ; 0x66 0x0F 0x38 0x30 /r ; s:SSE4, t:SSE, w:W|R, e:5 , a:NOREX2
PMOVZXBD ; Vdq,Wd ; ; 0x66 0x0F 0x38 0x31 /r ; s:SSE4, t:SSE, w:W|R, e:5 , a:NOREX2
PMOVZXBQ ; Vdq,Ww ; ; 0x66 0x0F 0x38 0x32 /r ; s:SSE4, t:SSE, w:W|R, e:5 , a:NOREX2
PMOVZXWD ; Vdq,Wq ; ; 0x66 0x0F 0x38 0x33 /r ; s:SSE4, t:SSE, w:W|R, e:5 , a:NOREX2
PMOVZXWQ ; Vdq,Wd ; ; 0x66 0x0F 0x38 0x34 /r ; s:SSE4, t:SSE, w:W|R, e:5 , a:NOREX2
PMOVZXDQ ; Vdq,Wq ; ; 0x66 0x0F 0x38 0x35 /r ; s:SSE4, t:SSE, w:W|R, e:5 , a:NOREX2
PCMPGTQ ; Vx,Wx ; ; 0x66 0x0F 0x38 0x37 /r ; s:SSE42, t:SSE, w:RW|R, e:4, a:NOREX2
PMINSB ; Vx,Wx ; ; 0x66 0x0F 0x38 0x38 /r ; s:SSE4, t:SSE, w:RW|R, e:4 , a:NOREX2
PMINSD ; Vx,Wx ; ; 0x66 0x0F 0x38 0x39 /r ; s:SSE4, t:SSE, w:RW|R, e:4 , a:NOREX2
PMINUW ; Vx,Wx ; ; 0x66 0x0F 0x38 0x3A /r ; s:SSE4, t:SSE, w:RW|R, e:4 , a:NOREX2
PMINUD ; Vx,Wx ; ; 0x66 0x0F 0x38 0x3B /r ; s:SSE4, t:SSE, w:RW|R, e:4 , a:NOREX2
PMAXSB ; Vx,Wx ; ; 0x66 0x0F 0x38 0x3C /r ; s:SSE4, t:SSE, w:RW|R, e:4 , a:NOREX2
PMAXSD ; Vx,Wx ; ; 0x66 0x0F 0x38 0x3D /r ; s:SSE4, t:SSE, w:RW|R, e:4 , a:NOREX2
PMAXUW ; Vx,Wx ; ; 0x66 0x0F 0x38 0x3E /r ; s:SSE4, t:SSE, w:RW|R, e:4 , a:NOREX2
PMAXUD ; Vx,Wx ; ; 0x66 0x0F 0x38 0x3F /r ; s:SSE4, t:SSE, w:RW|R, e:4 , a:NOREX2
# 0x40 - 0x4F
PMULLD ; Vx,Wx ; ; 0x66 0x0F 0x38 0x40 /r ; s:SSE4, t:SSE, w:RW|R, e:4, a:NOREX2
PHMINPOSUW ; Vdq,Wdq ; ; 0x66 0x0F 0x38 0x41 /r ; s:SSE4, t:SSE, w:W|R, e:4, a:NOREX2
# 0x50 - 0x5F
# 0x60 - 0x6F
# 0x70 - 0x7F
# 0x80 - 0x8F
INVEPT ; Gy,Mdq ; Fv ; 0x66 0x0F 0x38 0x80 /r:mem ; s:VTX, t:VTX, w:R|R|W, f:VMX, a:F64|SERIAL|NOREX2, m:VMXROOT
INVVPID ; Gy,Mdq ; Fv ; 0x66 0x0F 0x38 0x81 /r:mem ; s:VTX, t:VTX, w:R|R|W, f:VMX, a:F64|SERIAL|NOREX2, m:VMXROOT
INVPCID ; Gy,Mdq ; ; 0x66 0x0F 0x38 0x82 /r:mem ; s:INVPCID, t:MISC, w:R|R, a:F64|NOREX2, m:KERNEL|NOV86
# 0x90 - 0x9F
# 0xA0 - 0xAF
# 0xB0 - 0xBF
# 0xC0 - 0xCF
SHA1NEXTE ; Vdq,Wdq ; ; NP 0x0F 0x38 0xC8 /r ; s:SHA, t:SHA, w:RW|R, e:4, a:NOREX2
SHA1MSG1 ; Vdq,Wdq ; ; NP 0x0F 0x38 0xC9 /r ; s:SHA, t:SHA, w:RW|R, e:4, a:NOREX2
SHA1MSG2 ; Vdq,Wdq ; ; NP 0x0F 0x38 0xCA /r ; s:SHA, t:SHA, w:RW|R, e:4, a:NOREX2
SHA256RNDS2 ; Vdq,Wdq ; XMM0 ; NP 0x0F 0x38 0xCB /r ; s:SHA, t:SHA, w:RW|R|R, e:4, a:NOREX2
SHA256MSG1 ; Vdq,Wdq ; ; NP 0x0F 0x38 0xCC /r ; s:SHA, t:SHA, w:RW|R, e:4, a:NOREX2
SHA256MSG2 ; Vdq,Wdq ; ; NP 0x0F 0x38 0xCD /r ; s:SHA, t:SHA, w:RW|R, e:4, a:NOREX2
GF2P8MULB ; Vdq,Wdq ; ; 0x66 0x0F 0x38 0xCF /r ; s:GFNI, t:GFNI, w:RW|R, e:4, a:NOREX2
# 0xD0 - 0xDF
AESENCWIDE128KL ; M384 ; XMM0-7,Fv ; 0xF3 0x0F 0x38 0xD8 /0:mem ; s:KL, t:WIDE_KL, w:R|RW|W, f:AESKL, a:NOREX2
AESDECWIDE128KL ; M384 ; XMM0-7,Fv ; 0xF3 0x0F 0x38 0xD8 /1:mem ; s:KL, t:WIDE_KL, w:R|RW|W, f:AESKL, a:NOREX2
AESENCWIDE256KL ; M512 ; XMM0-7,Fv ; 0xF3 0x0F 0x38 0xD8 /2:mem ; s:KL, t:WIDE_KL, w:R|RW|W, f:AESKL, a:NOREX2
AESDECWIDE256KL ; M512 ; XMM0-7,Fv ; 0xF3 0x0F 0x38 0xD8 /3:mem ; s:KL, t:WIDE_KL, w:R|RW|W, f:AESKL, a:NOREX2
AESIMC ; Vdq,Wdq ; ; 0x66 0x0F 0x38 0xDB /r ; s:AES, t:AES, w:W|R, e:4, a:NOREX2
AESENC ; Vdq,Wdq ; ; 0x66 0x0F 0x38 0xDC /r ; s:AES, t:AES, w:RW|R, e:4, a:NOREX2
AESENC128KL ; Vdq,M384 ; Fv ; 0xF3 0x0F 0x38 0xDC /r:mem ; s:KL, t:AESKL, w:RW|R|W, f:AESKL, a:NOREX2
LOADIWKEY ; Vdq,Udq ; EAX,XMM0,Fv ; 0xF3 0x0F 0x38 0xDC /r:reg ; s:KL, t:KL, w:R|R|R|R|W, f:AESKL, m:KERNEL, a:NOREX2
AESENCLAST ; Vdq,Wdq ; ; 0x66 0x0F 0x38 0xDD /r ; s:AES, t:AES, w:RW|R, e:4, a:NOREX2
AESDEC128KL ; Vdq,M384 ; Fv ; 0xF3 0x0F 0x38 0xDD /r:mem ; s:KL, t:AESKL, w:RW|R|W, f:AESKL, a:NOREX2
AESDEC ; Vdq,Wdq ; ; 0x66 0x0F 0x38 0xDE /r ; s:AES, t:AES, w:RW|R, e:4, a:NOREX2
AESENC256KL ; Vdq,M512 ; Fv ; 0xF3 0x0F 0x38 0xDE /r:mem ; s:KL, t:AESKL, w:RW|R|W, f:AESKL, a:NOREX2
AESDECLAST ; Vdq,Wdq ; ; 0x66 0x0F 0x38 0xDF /r ; s:AES, t:AES, w:RW|R, e:4, a:NOREX2
AESDEC256KL ; Vdq,M512 ; Fv ; 0xF3 0x0F 0x38 0xDF /r:mem ; s:KL, t:AESKL, w:RW|R|W, f:AESKL, a:NOREX2
# 0xE0 - 0xEF
# 0xF0 - 0xFF
MOVBE ; Gv,Mv ; ; NP 0x0F 0x38 0xF0 /r:mem ; s:MOVBE, t:DATAXFER, w:W|R, a:NOREX2
MOVBE ; Gv,Mv ; ; 0x66 0x0F 0x38 0xF0 /r:mem ; s:MOVBE, t:DATAXFER, w:W|R, a:S66|NOREX2
CRC32 ; Gy,Eb ; ; 0xF2 0x0F 0x38 0xF0 /r ; s:SSE42, t:SSE, w:RW|R, a:NOREX2
MOVBE ; Mv,Gv ; ; NP 0x0F 0x38 0xF1 /r:mem ; s:MOVBE, t:DATAXFER, w:W|R, a:NOREX2
MOVBE ; Mv,Gv ; ; 0x66 0x0F 0x38 0xF1 /r:mem ; s:MOVBE, t:DATAXFER, w:W|R, a:S66|NOREX2
CRC32 ; Gy,Ev ; ; 0xF2 0x0F 0x38 0xF1 /r ; s:SSE42, t:SSE, w:RW|R, a:NOREX2
WRUSSD ; My,Gy ; ; 0x66 0x0F 0x38 0xF5 /r:mem ; s:CET_SS, t:CET, c:WRUSS, a:SHS|NOREX2, w:W|R, m:KERNEL
WRUSSQ ; My,Gy ; ; rexw 0x66 0x0F 0x38 0xF5 /r:mem ; s:CET_SS, t:CET, c:WRUSS, a:SHS|NOREX2, w:W|R, m:KERNEL
WRSSD ; My,Gy ; ; NP 0x0F 0x38 0xF6 /r:mem ; s:CET_SS, t:CET, c:WRSS, a:SHS|NOREX2, w:W|R
WRSSQ ; My,Gy ; ; rexw NP 0x0F 0x38 0xF6 /r:mem ; s:CET_SS, t:CET, c:WRSS, a:SHS|NOREX2, w:W|R
ADCX ; Gy,Ey ; Fv ; 0x66 0x0F 0x38 0xF6 /r ; s:ADX, t:ARITH, w:RW|R|RW, f:CF=m, a:NOREX2
ADOX ; Gy,Ey ; Fv ; 0xF3 0x0F 0x38 0xF6 /r ; s:ADX, t:ARITH, w:RW|R|RW, f:OF=m, a:NOREX2
MOVDIR64B ; rMoq,Moq ; ; 0x66 0x0F 0x38 0xF8 /r:mem ; s:MOVDIR64B, t:MOVDIR64B, w:W|R, a:NOREX2
ENQCMD ; rM?,Moq ; Fv ; 0xF2 0x0F 0x38 0xF8 /r:mem ; s:ENQCMD, t:ENQCMD, w:W|R|W, f:ENQCMD, a:NOREX2
ENQCMDS ; rM?,Moq ; Fv ; 0xF3 0x0F 0x38 0xF8 /r:mem ; s:ENQCMD, t:ENQCMD, w:W|R|W, f:ENQCMD, a:NOREX2
URDMSR ; Rq,Gq ; MSR ; 0xF2 0x0F 0x38 0xF8 /r:reg ; s:USER_MSR, t:USER_MSR, w:W|R|R, m:O64
UWRMSR ; Gq,Rq ; MSR ; 0xF3 0x0F 0x38 0xF8 /r:reg ; s:USER_MSR, t:USER_MSR, w:R|R|W, m:O64
MOVDIRI ; My,Gy ; ; NP 0x0F 0x38 0xF9 /r:mem ; s:MOVDIRI, t:MOVDIRI, w:W|R, a:NOREX2
ENCODEKEY128 ; Gd,Rd ; XMM0,XMM0-2,XMM4-6,Fv ; 0xF3 0x0F 0x38 0xFA /r:reg ; s:KL, t:AESKL, w:W|R|R|W|W|W, f:ZERO, a:NOREX2
ENCODEKEY256 ; Gd,Rd ; XMM0-1,XMM2-6,Fv ; 0xF3 0x0F 0x38 0xFB /r:reg ; s:KL, t:AESKL, w:W|R|RW|W|W, f:ZERO, a:NOREX2
AADD ; My,Gy ; ; NP 0x0F 0x38 0xFC /r:mem ; s:RAOINT, t:RAOINT, w:RW|R, a:NOREX2
AAND ; My,Gy ; ; 0x66 0x0F 0x38 0xFC /r:mem ; s:RAOINT, t:RAOINT, w:RW|R, a:NOREX2
AOR ; My,Gy ; ; 0xF2 0x0F 0x38 0xFC /r:mem ; s:RAOINT, t:RAOINT, w:RW|R, a:NOREX2
AXOR ; My,Gy ; ; 0xF3 0x0F 0x38 0xFC /r:mem ; s:RAOINT, t:RAOINT, w:RW|R, a:NOREX2