# # 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