# # Copyright (c) 2020 Bitdefender # SPDX-License-Identifier: Apache-2.0 # # 0x00 - 0x0F ROUNDPS ; Vx,Wx,Ib ; ; 0x66 0x0F 0x3A 0x08 /r ib ; s:SSE4, t:SSE, w:W|R|R, e:2, a:NOREX2 ROUNDPD ; Vx,Wx,Ib ; ; 0x66 0x0F 0x3A 0x09 /r ib ; s:SSE4, t:SSE, w:W|R|R, e:2, a:NOREX2 ROUNDSS ; Vss,Wss,Ib ; ; 0x66 0x0F 0x3A 0x0A /r ib ; s:SSE4, t:SSE, w:W|R|R, e:3, a:NOREX2 ROUNDSD ; Vsd,Wsd,Ib ; ; 0x66 0x0F 0x3A 0x0B /r ib ; s:SSE4, t:SSE, w:W|R|R, e:3, a:NOREX2 BLENDPS ; Vx,Wx,Ib ; ; 0x66 0x0F 0x3A 0x0C /r ib ; s:SSE4, t:SSE, w:RW|R|R, e:4, a:NOREX2 BLENDPD ; Vx,Wx,Ib ; ; 0x66 0x0F 0x3A 0x0D /r ib ; s:SSE4, t:SSE, w:RW|R|R, e:4, a:NOREX2 PBLENDW ; Vx,Wx,Ib ; ; 0x66 0x0F 0x3A 0x0E /r ib ; s:SSE4, t:SSE, w:RW|R|R, e:4, a:NOREX2 PALIGNR ; Pq,Qq,Ib ; ; NP 0x0F 0x3A 0x0F /r ib ; s:SSSE3, t:MMX, w:RW|R|R, a:NOREX2 PALIGNR ; Vx,Wx,Ib ; ; 0x66 0x0F 0x3A 0x0F /r ib ; s:SSSE3, t:SSE, w:RW|R|R, e:4, a:NOREX2 # 0x10 - 0x1F # TODO: for PEXTRx, a smaller size is accessed, in fact. PEXTRB ; Mb,Vdq,Ib ; ; 0x66 0x0F 0x3A 0x14 /r:mem ib ; s:SSE4, t:SSE, w:W|R|R, e:5, a:NOREX2 PEXTRB ; Ry,Vdq,Ib ; ; 0x66 0x0F 0x3A 0x14 /r:reg ib ; s:SSE4, t:SSE, w:W|R|R, e:5, a:D64|NOREX2 PEXTRW ; Mw,Vdq,Ib ; ; 0x66 0x0F 0x3A 0x15 /r:mem ib ; s:SSE4, t:SSE, w:W|R|R, e:5, a:NOREX2 PEXTRW ; Ry,Vdq,Ib ; ; 0x66 0x0F 0x3A 0x15 /r:reg ib ; s:SSE4, t:SSE, w:W|R|R, e:5, a:D64|NOREX2 PEXTRD ; Md,Vdq,Ib ; ; 0x66 0x0F 0x3A 0x16 /r:mem ib ; s:SSE4, t:SSE, w:W|R|R, e:5, a:NOREX2 PEXTRD ; Ry,Vdq,Ib ; ; 0x66 0x0F 0x3A 0x16 /r:reg ib ; s:SSE4, t:SSE, w:W|R|R, e:5, a:D64|NOREX2 PEXTRQ ; Mq,Vdq,Ib ; ; rexw 0x66 0x0F 0x3A 0x16 /r:mem ib ; s:SSE4, t:SSE, w:W|R|R, e:5, a:NOREX2 PEXTRQ ; Ry,Vdq,Ib ; ; rexw 0x66 0x0F 0x3A 0x16 /r:reg ib ; s:SSE4, t:SSE, w:W|R|R, e:5, a:NOREX2 EXTRACTPS ; Ed,Vdq,Ib ; ; 0x66 0x0F 0x3A 0x17 /r ib ; s:SSE4, t:SSE, w:W|R|R, e:5, a:NOREX2 # 0x20 - 0x2F PINSRB ; Vdq,Mb,Ib ; ; 0x66 0x0F 0x3A 0x20 /r:mem ib ; s:SSE4, t:SSE, w:RW|R|R, e:5, a:NOREX2 PINSRB ; Vdq,Ry,Ib ; ; 0x66 0x0F 0x3A 0x20 /r:reg ib ; s:SSE4, t:SSE, w:RW|R|R, e:5, a:NOREX2 INSERTPS ; Vdq,Md,Ib ; ; 0x66 0x0F 0x3A 0x21 /r:mem ib ; s:SSE4, t:SSE, w:RW|R|R, e:5, a:NOREX2 INSERTPS ; Vdq,Udq,Ib ; ; 0x66 0x0F 0x3A 0x21 /r:reg ib ; s:SSE4, t:SSE, w:RW|R|R, e:5, a:NOREX2 PINSRD ; Vdq,Ed,Ib ; ; 0x66 0x0F 0x3A 0x22 /r ib ; s:SSE4, t:SSE, w:RW|R|R, e:5, a:NOREX2 PINSRQ ; Vdq,Eq,Ib ; ; rexw 0x66 0x0F 0x3A 0x22 /r ib ; s:SSE4, t:SSE, w:RW|R|R, e:5, a:NOREX2 # 0x30 - 0x3F # 0x40 - 0x4F DPPS ; Vx,Wx,Ib ; ; 0x66 0x0F 0x3A 0x40 /r ib ; s:SSE4, t:SSE, w:RW|R|R, e:2, a:NOREX2 DPPD ; Vdq,Wdq,Ib ; ; 0x66 0x0F 0x3A 0x41 /r ib ; s:SSE4, t:SSE, w:RW|R|R, e:2, a:NOREX2 MPSADBW ; Vdq,Wdq,Ib ; ; 0x66 0x0F 0x3A 0x42 /r ib ; s:SSE4, t:SSE, w:RW|R|R, e:4, a:NOREX2 PCLMULQDQ ; Vdq,Wdq,Ib ; ; 0x66 0x0F 0x3A 0x44 /r ib ; s:PCLMULQDQ, t:PCLMULQDQ, w:RW|R|R, e:4, a:NOREX2 # 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, a:NOREX2 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, a:NOREX2 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, a:NOREX2 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, a:NOREX2 # 0x70 - 0x7F # 0x80 - 0x8F # 0x90 - 0x9F # 0xA0 - 0xAF # 0xB0 - 0xBF # 0xC0 - 0xCF SHA1RNDS4 ; Vdq,Wdq,Ib ; ; NP 0x0F 0x3A 0xCC /r ib ; s:SHA, t:SHA, w:RW|R|R, e:4, a:NOREX2 GF2P8AFFINEQB ; Vdq,Wdq,Ib ; ; 0x66 0x0F 0x3A 0xCE /r ib ; s:GFNI, t:GFNI, w:RW|R|R, e:4, a:NOREX2 GF2P8AFFINEINVQB ; Vdq,Wdq,Ib ; ; 0x66 0x0F 0x3A 0xCF /r ib ; s:GFNI, t:GFNI, w:RW|R|R, e:4, a:NOREX2 # 0xD0 - 0xDF AESKEYGENASSIST ; Vdq,Wdq,Ib ; ; 0x66 0x0F 0x3A 0xDF /r ib ; s:AES, t:AES, w:W|R|R, e:4, a:NOREX2 # 0xE0 - 0xEF # 0xF0 - 0xFF HRESET ; Ib ; EAX ; 0xF3 0x0F 0x3A 0xF0 /0xC0 ib ; s:HRESET, t:HRESET, w:N|R, m:KERNEL|NOV86|NOTSX, a:NOREX2