Every instruction accepts zero or more operands, which are comma-separated, subject to balanced parentheses
(()
, []
, and {}
). For example, not eax
has one operand,
while both of mov eax, ebx
and mov [eax+offsetof(foo,x)], arr[y,z]
have two operands.
Every operand will either be an immediate value, a named register, a jump target, or a memory reference.
The simplest immediate operands are decimal and hexadecimal integers, for example ret 32
and
ret 0x20
.
Any C/C++ expression can be used where an immediate operand is expected, for example ret num_args*4
.
The expression will be evaluated when dasm_put
is called, and
the resulting value will become a constant in the generated machine code. Such expressions are sometimes referred
to as encoding-time constants, and are a a superset of compile-time constants.
Where an immediate can be used, it'll be listed as immNN
, where NN
is the maximum
bit width of the immediate. In cases where instructions have different forms for different bit-widths of immediate
or particular immediate values, DynASM will automatically choose the most compact form possible on a value by
value basis.
Note that the special x64 instruction mov64
is the
only instruction with a 64-bit immediate operand.
The following integer registers can be used, using either a uniform numeric scheme or traditional names:
64-bit | 32-bit | 16-bit | 8-bit High | 8-bit Low |
---|---|---|---|---|
rax x64 / r0 x64 | eax / r0d x64 / r0 x86 | ax / r0w | ah | al / r0b |
rcx x64 / r1 x64 | ecx / r1d x64 / r1 x86 | cx / r1w | ch | cl / r1b |
rdx x64 / r2 x64 | edx / r2d x64 / r2 x86 | dx / r2w | dh | dl / r2b |
rbx x64 / r3 x64 | ebx / r3d x64 / r3 x86 | bx / r3w | bh | bl / r3b |
rsp x64 / r4 x64 | esp / r4d x64 / r4 x86 | sp / r4w | r4b x64 | |
rbp x64 / r5 x64 | ebp / r5d x64 / r5 x86 | bp / r5w | r5b x64 | |
rsi x64 / r6 x64 | esi / r6d x64 / r6 x86 | si / r6w | r6b x64 | |
rdi x64 / r7 x64 | edi / r7d x64 / r7 x86 | di / r7w | r7b x64 | |
r8 x64 | r8d x64 | r8w x64 | r8b x64 | |
r9 x64 | r9d x64 | r9w x64 | r9b x64 | |
r10 x64 | r10d x64 | r10w x64 | r10b x64 | |
r11 x64 | r11d x64 | r11w x64 | r11b x64 | |
r12 x64 | r12d x64 | r12w x64 | r12b x64 | |
r13 x64 | r13d x64 | r13w x64 | r13b x64 | |
r14 x64 | r14d x64 | r14w x64 | r14b x64 | |
r15 x64 | r15d x64 | r15w x64 | r15b x64 |
The x87 registers can be used by their names st0
through st7
.
The SSE registers can be used by their names xmm0
through xmm7
x86
or xmm15
x64.
Similarly, the AVX registers can be used by their names ymm0
through ymm7
x86
or ymm15
x64.
In addition to the static names, the registers from each family can be named dynamically:
Format | Indexable Registers |
---|---|
Rq(imm4) x64 | r0 / rax through r15 |
Ra(imm4) | r0 / eax x86 / rax x64 through r7 x86 / edi x86 or r15 x64 |
Rd(imm4) | r0d x64 / r0 x86 / eax through r7 x86 / edi x86 or r15d x64 |
Rw(imm4) | r0w / ax through r7w x86 / di x86 or r15w x64 |
Rb(imm3) x86 | r0b / al through r3b / bl , then ah , ch , dh , bh |
Rb(imm4) x64 | r0b / al through r15b |
Rf(imm3) | st0 through st7 |
xmm(imm4) | xmm0 through xmm7 x86 or xmm15 x64 |
ymm(imm4) | ymm0 through ymm7 x86 or ymm15 x64 |
Where an integer register can be used, it'll be listed as reg
or rNN
, where NN
is the bit width
of the register. Where an x87 or SSE register can it used, it'll be listed as stx
or xmm
respectively. Where a specific register has to be used, it'll be listed as the traditional register name.
Most instructions that affect the instruction pointer have a so-called jump target operand (for the sake
of simplicitly, call
instructions use the jump-target terminology), of which there are six
forms:
Format | Description |
---|---|
<1 through <9 | Jump backwards to local label 1: through 9: . |
>1 through >9 | Jump forwards to local label 1: through 9: . |
->name | Jump to the global label ->name: . |
=>imm32 | Jump to the dynamic label =>imm32: . |
&expr x86 | Jump to (ptrdiff_t)(expr) , as computed when dasm_put is called. |
extern ... | Jump to a location determined by DASM_EXTERN during dasm_encode . |
In the context of local labels, forwards and backwards refer to the generated instruction stream rather than any lexical property of the DynASM source file, meaning that the following two examples are equivalent:
void a(Dst_DECL) { | jmp >1 |1: } | static void b(Dst_DECL) { |1: } void a(Dst_DECL) { | jmp >1 b(Dst); } |
Where a jump target can be used, it'll be listed as lbl
.
There are a wide variety of possible forms for operands that refer to locations in memory:
32-bit form x86 | 64-bit form x64 |
---|---|
[r32] | [r64] |
[r32(+|-)imm32] | [r64(+|-)imm32] |
[r32+r32] | [r64+r64] |
[r32+r32(+|-)imm32] | [r64+r64(+|-)imm32] |
[r32*(1|2|4|8)] | [r64*(1|2|4|8)] |
[r32*(1|2|4|8)(+|-)imm32] | [r64*(1|2|4|8)(+|-)imm32] |
[r32+r32*(1|2|4|8)] | [r64+r64*(1|2|4|8)] |
[r32+r32*(1|2|4|8)(+|-)imm32] | [r64+r64*(1|2|4|8)(+|-)imm32] |
[imm32] | [imm32] (limited to low 2GB of address space) |
[lbl] (encoded as an absolute address) | [lbl] (encoded as rip-relative with 32-bit displacement) |
Note that the DynASM parser is sensitive to order. For example, [r0+r1*2]
is a recognised
memory operand, but [2*r1+r0]
is not, despite it seeming identical. Also note that the parser
is sensitive to whitespace when dynamic registers are used in memory operands: there should be
no whitespace after the trailing )
of the dynamic register and any +
or *
character which follows.
Most of these forms are self-explanatory, with the possible exception of [lbl]
. This form allows
any jump target to be used as a memory operand: the memory location it refers to is the location that would
be jumped to.
The .type
directive can be used to create syntactic
sugar for the [r32(+|-)imm32]
and [r64(+|-)imm32]
forms, therein making
it easier to work with C structures.
A memory operand can be preceded by one of the following size specifiers to control the number of bytes accessed at the memory location:
Memory Size Prefix | Number of bytes accessed |
---|---|
byte | 1 |
word | 2 |
dword | 4 |
aword | 4 x86 or 8 x64 |
qword | 8 |
tword | 10 (used for x87) |
oword | 16 (used for SSE) |
yword | 32 (used for AVX) |
Some instructions will infer the memory size prefix based on the size of other operands.
Where an instruction requires a memory size prefix (for example because it cannot be inferred), the
applicable prefix or prefixes will be listed. Where a memory operand can be used, it'll be listed
as mem
or mNN
, where NN
is the number of
bits accessed.
mov64
)The special x64 instruction mov64
accepts the
following memory form instead of the usual forms:
Form | Description |
---|---|
[imm64] | Like [imm32] , except not limited to the low 2GB of address space. |
As well as instructions and directives, DynASM supports labels, which are locations in the generated machine code that can be used as jump targets. Labels are defined by suffixing the label name with a colon.
|1: |2: |3: | |4: |5: |6: | |7: |8: |9: |
There are nine local labels, 1:
through 9:
, and they can be
defined multiple times per DynASM source file. Local label i
is used as
a jump target by means of the syntax <i
or >i
. The
former syntax takes the most recent definition of i
as the jump target,
while the latter syntax takes the next definition of i
as the jump target.
Note that >i
must at some point be followed by i:
, <i
must have been preceded by i:
, and i:
must appear at
least once between any >i
and <i
. Equivalently, this
last condition means that a >i
cannot jump over a <i
, and
vice versa.
Note that dasm_setupglobal
must be called in order to use local labels.
|->name:
Any valid C identifier can be used as a global label. There is no limit on the number of global labels used in a DynASM source file, but each individual global label can only be defined once.
The .globals
directive is used to emit a C enum consisting of every global
label in a DynASM source file, and the output from this directive must be passed to
dasm_setupglobal
. Additionally, the .globalnames
directive can be used to emit
an array of C strings consisting of the names of all global labels.
After dasm_link
has been called, the address of a global label can be retreived
by indexing into the array previously passed to dasm_setupglobal
using one of the enum
members defined by .globals
.
|=>imm32:
Dynamic labels are similar to global labels, except that their names are non-negative
integers rather than C identifiers. Initially there is a limit of zero dynamic labels,
but this limit can be raised at any time by calling dasm_growpc
. As with
global labels, each individual dynamic label can only be defined once.
As with dynamically indexed registers and immediate operands, a dynamic label's name
is an encoding-time constant. This means that any C/C++ expression can be used, and the
expression will be evaluated when dasm_put
is called.
After dasm_link
has been called, the address of a dynamic label can be retreived
by calling dasm_getpclabel
, and adding the resulting value to the pointer passed
to dasm_encode
.
The remainder of this document lists the instructions that can be used in DynASM source files, and the operands they expect.
| a16 x86
| a32 x64
| adc reg, reg | adc mem, reg | adc reg, mem | adc reg, imm32 | adc (byte|word|dword|aword|qword) mem, imm32
| adcx reg, reg | adcx reg, mem
| add reg, reg | add mem, reg | add reg, mem | add reg, imm32 | add (byte|word|dword|aword|qword) mem, imm32
| addpd xmm, xmm | addpd xmm, m128
| addps xmm, xmm | addps xmm, m128
| addsd xmm, xmm | addsd xmm, qword m64
| addss xmm, xmm | addss xmm, dword m32
| addsubpd xmm, xmm | addsubpd xmm, m128
| addsubps xmm, xmm | addsubps xmm, m128
| adox reg, reg | adox reg, mem
| aesdec xmm, xmm | aesdec xmm, m128
| aesdeclast xmm, xmm | aesdeclast xmm, m128
| aesenc xmm, xmm | aesenc xmm, m128
| aesenclast xmm, xmm | aesenclast xmm, m128
| aesimc xmm, xmm | aesimc xmm, m128
| aeskeygenassist xmm, xmm, imm8 | aeskeygenassist xmm, m128, imm8
| and reg, reg | and mem, reg | and reg, mem | and reg, imm32 | and (byte|word|dword|aword|qword) mem, imm32
| andnpd xmm, xmm | andnpd xmm, m128
| andnps xmm, xmm | andnps xmm, m128
| andpd xmm, xmm | andpd xmm, m128
| andps xmm, xmm | andps xmm, m128
| blendpd xmm, xmm, imm8 | blendpd xmm, m128, imm8
| blendps xmm, xmm, imm8 | blendps xmm, m128, imm8
| blendvpd xmm, xmm, xmm0 | blendvpd xmm, m128, xmm0
| blendvps xmm, xmm, xmm0 | blendvps xmm, m128, xmm0
| bsf reg, reg | bsf reg, mem
| bsr reg, reg | bsr reg, mem
| bswap r64 | bswap r32
| bt reg, reg | bt mem, reg | bt reg, imm8 | bt (word|dword|aword|qword) mem, imm8
| btc reg, reg | btc mem, reg | btc reg, imm8 | btc (word|dword|aword|qword) mem, imm8
| btr reg, reg | btr mem, reg | btr reg, imm8 | btr (word|dword|aword|qword) mem, imm8
| bts reg, reg | bts mem, reg | bts reg, imm8 | bts (word|dword|aword|qword) mem, imm8
| call lbl | call r32 x86 | call dword m32 x86 | call r64 x64 | call qword m64 x64
| cbw
| cdq
| cdqe
| clc
| cld
| clflush mem
| cmc
| cmova reg, reg | cmova reg, mem
| cmovae reg, reg | cmovae reg, mem
| cmovb reg, reg | cmovb reg, mem
| cmovbe reg, reg | cmovbe reg, mem
| cmovc reg, reg | cmovc reg, mem
| cmove reg, reg | cmove reg, mem
| cmovg reg, reg | cmovg reg, mem
| cmovge reg, reg | cmovge reg, mem
| cmovl reg, reg | cmovl reg, mem
| cmovle reg, reg | cmovle reg, mem
| cmovna reg, reg | cmovna reg, mem
| cmovnae reg, reg | cmovnae reg, mem
| cmovnb reg, reg | cmovnb reg, mem
| cmovnbe reg, reg | cmovnbe reg, mem
| cmovnc reg, reg | cmovnc reg, mem
| cmovne reg, reg | cmovne reg, mem
| cmovng reg, reg | cmovng reg, mem
| cmovnge reg, reg | cmovnge reg, mem
| cmovnl reg, reg | cmovnl reg, mem
| cmovnle reg, reg | cmovnle reg, mem
| cmovno reg, reg | cmovno reg, mem
| cmovnp reg, reg | cmovnp reg, mem
| cmovns reg, reg | cmovns reg, mem
| cmovnz reg, reg | cmovnz reg, mem
| cmovo reg, reg | cmovo reg, mem
| cmovp reg, reg | cmovp reg, mem
| cmovpe reg, reg | cmovpe reg, mem
| cmovpo reg, reg | cmovpo reg, mem
| cmovs reg, reg | cmovs reg, mem
| cmovz reg, reg | cmovz reg, mem
| cmp reg, reg | cmp mem, reg | cmp reg, mem | cmp reg, imm32 | cmp (byte|word|dword|aword|qword) mem, imm32
| cmppd xmm, xmm, imm8 | cmppd xmm, m128, imm8
| cmpps xmm, xmm, imm8 | cmpps xmm, m128, imm8
| cmpsb
| cmpsd
| cmpsd xmm, xmm, imm8 | cmpsd xmm, qword m64, imm8
| cmpss xmm, xmm, imm8 | cmpss xmm, dword m32, imm8
| cmpsw
| comisd xmm, xmm | comisd xmm, qword m64
| comiss xmm, xmm | comiss xmm, dword m32
| cpuid
| cqo
| crc32 reg, reg | crc32 reg, mem | crc32 r32, word m16 | crc32 r32, byte m8 | crc32 r64, byte m8
| cs
| cvtdq2pd xmm, xmm | cvtdq2pd xmm, qword m64
| cvtdq2ps xmm, xmm | cvtdq2ps xmm, m128
| cvtpd2dq xmm, xmm | cvtpd2dq xmm, m128
| cvtpd2ps xmm, xmm | cvtpd2ps xmm, m128
| cvtpi2pd xmm, qword m64
| cvtpi2ps xmm, qword m64
| cvtps2dq xmm, xmm | cvtps2dq xmm, m128
| cvtps2pd xmm, xmm | cvtps2pd xmm, qword m64
| cvtsd2si r32, xmm | cvtsd2si r64, xmm | cvtsd2si r32, qword m64 | cvtsd2si r64, m64
| cvtsd2ss xmm, xmm | cvtsd2ss xmm, qword m64
| cvtsi2sd xmm, r32 | cvtsi2sd xmm, dword m32 | cvtsi2sd xmm, r64 | cvtsi2sd xmm, qword m64
| cvtsi2ss xmm, r32 | cvtsi2ss xmm, dword m32 | cvtsi2ss xmm, r64 | cvtsi2ss xmm, qword m64
| cvtss2sd xmm, xmm | cvtss2sd xmm, dword m32
| cvtss2si r32, xmm | cvtss2si r64, xmm | cvtss2si r32, m32 | cvtss2si r64, dword m32
| cvttpd2dq xmm, xmm | cvttpd2dq xmm, m128
| cvttps2dq xmm, xmm | cvttps2dq xmm, m128
| cvttsd2si r32, xmm | cvttsd2si r64, xmm | cvttsd2si r32, qword m64 | cvttsd2si r64, m64
| cvttss2si r32, xmm | cvttss2si r64, xmm | cvttss2si r32, m32 | cvttss2si r64, dword m32
| cwd
| cwde
| dec reg | dec (byte|word|dword|aword|qword) mem
| div reg | div (byte|word|dword|aword|qword) mem
| divpd xmm, xmm | divpd xmm, m128
| divps xmm, xmm | divps xmm, m128
| divsd xmm, xmm | divsd xmm, qword m64
| divss xmm, xmm | divss xmm, dword m32
| dppd xmm, xmm, imm8 | dppd xmm, m128, imm8
| dpps xmm, xmm, imm8 | dpps xmm, m128, imm8
| ds
| es
| extractps r32, xmm, imm8 | extractps dword m32, xmm, imm8 | extractps r64, xmm, imm8
| extrq xmm, xmm
| extrq xmm, imm8, imm8
| f2xm1
| fabs
| fadd stx | fadd dword m32 | fadd qword m64
| fadd st0, stx | fadd stx, st0 | fadd st0, dword m32 | fadd st0, qword m64
| faddp stx
| faddp stx, st0
| fchs
| fclex
| fcmovb stx
| fcmovb st0, stx
| fcmovbe stx
| fcmovbe st0, stx
| fcmove stx
| fcmove st0, stx
| fcmovnb stx
| fcmovnb st0, stx
| fcmovnbe stx
| fcmovnbe st0, stx
| fcmovne stx
| fcmovne st0, stx
| fcmovnu stx
| fcmovnu st0, stx
| fcmovu stx
| fcmovu st0, stx
| fcom stx | fcom dword m32 | fcom qword m64
| fcom st0, stx | fcom st0, dword m32 | fcom st0, qword m64
| fcomi stx
| fcomi st0, stx
| fcomip stx
| fcomip st0, stx
| fcomp stx | fcomp dword m32 | fcomp qword m64
| fcomp st0, stx | fcomp st0, dword m32 | fcomp st0, qword m64
| fcompp
| fcos
| fdecstp
| fdiv stx | fdiv dword m32 | fdiv qword m64
| fdiv st0, stx | fdiv stx, st0 | fdiv st0, dword m32 | fdiv st0, qword m64
| fdivp stx
| fdivp stx, st0
| fdivr stx | fdivr dword m32 | fdivr qword m64
| fdivr st0, stx | fdivr stx, st0 | fdivr st0, dword m32 | fdivr st0, qword m64
| fdivrp stx
| fdivrp stx, st0
| fiadd dword m32 | fiadd word m16
| ficom dword m32 | ficom word m16
| ficomp dword m32 | ficomp word m16
| fidiv dword m32 | fidiv word m16
| fidivr dword m32 | fidivr word m16
| fild word m16 | fild dword m32 | fild qword m64
| fimul dword m32 | fimul word m16
| fincstp
| fist word m16 | fist dword m32
| fistp word m16 | fistp dword m32 | fistp qword m64
| fisttp word m16 | fisttp dword m32 | fisttp qword m64
| fisub dword m32 | fisub word m16
| fisubr dword m32 | fisubr word m16
| fld1
| fld stx | fld dword m32 | fld qword m64 | fld tword m80
| fldcw word m16
| fldenv mem
| fldl2e
| fldl2t
| fldlg2
| fldln2
| fldpi
| fldz
| fmul stx | fmul dword m32 | fmul qword m64
| fmul st0, stx | fmul stx, st0 | fmul st0, dword m32 | fmul st0, qword m64
| fmulp stx
| fmulp stx, st0
| fnclex
| fnop
| fnstcw word m16
| fnstenv mem
| fnstsw ax | fnstsw word m16
| fpatan
| fpop
| fprem1
| fprem
| fptan
| frndint
| fs
| fscale
| fsin
| fsincos
| fsqrt
| fst stx | fst dword m32 | fst qword m64
| fstcw word m16
| fstenv mem
| fstp stx | fstp dword m32 | fstp qword m64 | fstp tword m80
| fstsw ax | fstsw word m16
| fsub stx | fsub dword m32 | fsub qword m64
| fsub st0, stx | fsub stx, st0 | fsub st0, dword m32 | fsub st0, qword m64
| fsubp stx
| fsubp stx, st0
| fsubr stx | fsubr dword m32 | fsubr qword m64
| fsubr st0, stx | fsubr stx, st0 | fsubr st0, dword m32 | fsubr st0, qword m64
| fsubrp stx
| fsubrp stx, st0
| ftst
| fucom stx
| fucom st0, stx
| fucomi stx
| fucomi st0, stx
| fucomip stx
| fucomip st0, stx
| fucomp stx
| fucomp st0, stx
| fucompp
| fwait
| fxam
| fxch
| fxch stx
| fxch stx, st0 | fxch st0, stx
| fxrstor mem
| fxsave mem
| fxtract
| fyl2x
| fyl2xp1
| gs
| haddpd xmm, xmm | haddpd xmm, m128
| haddps xmm, xmm | haddps xmm, m128
| hsubpd xmm, xmm | hsubpd xmm, m128
| hsubps xmm, xmm | hsubps xmm, m128
| idiv reg | idiv (byte|word|dword|aword|qword) mem
| imul reg | imul (byte|word|dword|aword|qword) mem
| imul reg, reg | imul reg, mem | imul reg, imm32
| imul reg, reg, imm32 | imul reg, mem, imm32
| inc reg | inc (byte|word|dword|aword|qword) mem
| insertps xmm, xmm, imm8 | insertps xmm, dword m32, imm8
| insertq xmm, xmm
| insertq xmm, xmm, imm8, imm8
| int1
| int3
| int imm8
| into
| ja lbl
| jae lbl
| jb lbl
| jbe lbl
| jc lbl
| je lbl
| jg lbl
| jge lbl
| jl lbl
| jle lbl
| jmp lbl | jmp r32 x86 | jmp dword m32 x86 | jmp r64 x64 | jmp qword m64 x64
| jna lbl
| jnae lbl
| jnb lbl
| jnbe lbl
| jnc lbl
| jne lbl
| jng lbl
| jnge lbl
| jnl lbl
| jnle lbl
| jno lbl
| jnp lbl
| jns lbl
| jnz lbl
| jo lbl
| jp lbl
| jpe lbl
| jpo lbl
| js lbl
| jz lbl
| lahf
| lddqu xmm, m128
| ldmxcsr dword m32
| lea reg, mem
| leave
| lfence
| lock
| lodsb
| lodsd
| lodsw
| lzcnt reg, reg | lzcnt reg, mem
| maskmovdqu xmm, xmm
| maxpd xmm, xmm | maxpd xmm, m128
| maxps xmm, xmm | maxps xmm, m128
| maxsd xmm, xmm | maxsd xmm, qword m64
| maxss xmm, xmm | maxss xmm, dword m32
| mfence
| minpd xmm, xmm | minpd xmm, m128
| minps xmm, xmm | minps xmm, m128
| minsd xmm, xmm | minsd xmm, qword m64
| minss xmm, xmm | minss xmm, dword m32
| mov64 r64, imm64 x64 | mov64 (al|ax|eax|rax), mem x64 | mov64 mem, (al|ax|eax|rax) x64
| mov reg, reg | mov mem, reg | mov reg, mem | mov reg, imm32 | mov (byte|word|dword|aword|qword) mem, imm32
| movapd xmm, xmm | movapd xmm, m128 | movapd m128, xmm
| movaps xmm, xmm | movaps xmm, m128 | movaps m128, xmm
| movd xmm, r32 | movd xmm, dword m32 | movd xmm, r64 | movd xmm, qword m64 | movd r32, xmm | movd dword m32, xmm | movd r64, xmm | movd qword m64, xmm
| movddup xmm, xmm | movddup xmm, m128
| movdqa xmm, xmm | movdqa xmm, m128 | movdqa m128, xmm
| movdqu xmm, xmm | movdqu xmm, m128 | movdqu m128, xmm
| movhlps xmm, xmm
| movhpd xmm, qword m64 | movhpd qword m64, xmm
| movhps xmm, qword m64 | movhps qword m64, xmm
| movlhps xmm, xmm
| movlpd xmm, qword m64 | movlpd qword m64, xmm
| movlps xmm, qword m64 | movlps qword m64, xmm
| movmskpd r32, xmm
| movmskps r32, xmm
| movntdq m128, xmm
| movntdqa xmm, m128
| movnti mem, reg
| movntpd m128, xmm
| movntps m128, xmm
| movntsd qword m64, xmm
| movntss dword m32, xmm
| movq xmm, xmm | movq xmm, qword m64 | movq qword m64, xmm
| movsb
| movsd
| movsd xmm, xmm | movsd xmm, qword m64 | movsd qword m64, xmm
| movshdup xmm, xmm | movshdup xmm, m128
| movsldup xmm, xmm | movsldup xmm, m128
| movss xmm, xmm | movss xmm, dword m32 | movss dword m32, xmm
| movsw
| movsx r32, r8 | movsx r32, byte m8 | movsx r64, r8 | movsx r64, byte m8 | movsx r16, r8 | movsx r16, byte m8 | movsx r32, r16 | movsx r32, word m16 | movsx r64, r16 | movsx r64, word m16
| movsxd r64, r32 x64 | movsxd r64, dword m32 x64
| movupd xmm, xmm | movupd xmm, m128 | movupd m128, xmm
| movups xmm, xmm | movups xmm, m128 | movups m128, xmm
| movzx r32, r8 | movzx r32, byte m8 | movzx r64, r8 | movzx r64, byte m8 | movzx r16, r8 | movzx r16, byte m8 | movzx r32, r16 | movzx r32, word m16 | movzx r64, r16 | movzx r64, word m16
| mpsadbw xmm, xmm, imm8 | mpsadbw xmm, m128, imm8
| mul reg | mul (byte|word|dword|aword|qword) mem
| mulpd xmm, xmm | mulpd xmm, m128
| mulps xmm, xmm | mulps xmm, m128
| mulsd xmm, xmm | mulsd xmm, qword m64
| mulss xmm, xmm | mulss xmm, dword m32
| neg reg | neg (byte|word|dword|aword|qword) mem
| nop
| not reg | not (byte|word|dword|aword|qword) mem
| o16
| or reg, reg | or mem, reg | or reg, mem | or reg, imm32 | or (byte|word|dword|aword|qword) mem, imm32
| orpd xmm, xmm | orpd xmm, m128
| orps xmm, xmm | orps xmm, m128
| pabsb xmm, xmm | pabsb xmm, m128
| pabsd xmm, xmm | pabsd xmm, m128
| pabsw xmm, xmm | pabsw xmm, m128
| packssdw xmm, xmm | packssdw xmm, m128
| packsswb xmm, xmm | packsswb xmm, m128
| packusdw xmm, xmm | packusdw xmm, m128
| packuswb xmm, xmm | packuswb xmm, m128
| paddb xmm, xmm | paddb xmm, m128
| paddd xmm, xmm | paddd xmm, m128
| paddq xmm, xmm | paddq xmm, m128
| paddsb xmm, xmm | paddsb xmm, m128
| paddsw xmm, xmm | paddsw xmm, m128
| paddusb xmm, xmm | paddusb xmm, m128
| paddusw xmm, xmm | paddusw xmm, m128
| paddw xmm, xmm | paddw xmm, m128
| palignr xmm, xmm, imm8 | palignr xmm, m128, imm8
| pand xmm, xmm | pand xmm, m128
| pandn xmm, xmm | pandn xmm, m128
| pause
| pavgb xmm, xmm | pavgb xmm, m128
| pavgw xmm, xmm | pavgw xmm, m128
| pblendvb xmm, xmm, xmm0 | pblendvb xmm, m128, xmm0
| pblendw xmm, xmm, imm8 | pblendw xmm, m128, imm8
| pclmulqdq xmm, xmm, imm8 | pclmulqdq xmm, m128, imm8
| pcmpeqb xmm, xmm | pcmpeqb xmm, m128
| pcmpeqd xmm, xmm | pcmpeqd xmm, m128
| pcmpeqq xmm, xmm | pcmpeqq xmm, m128
| pcmpeqw xmm, xmm | pcmpeqw xmm, m128
| pcmpestri xmm, xmm, imm8 | pcmpestri xmm, m128, imm8
| pcmpestrm xmm, xmm, imm8 | pcmpestrm xmm, m128, imm8
| pcmpgtb xmm, xmm | pcmpgtb xmm, m128
| pcmpgtd xmm, xmm | pcmpgtd xmm, m128
| pcmpgtq xmm, xmm | pcmpgtq xmm, m128
| pcmpgtw xmm, xmm | pcmpgtw xmm, m128
| pcmpistri xmm, xmm, imm8 | pcmpistri xmm, m128, imm8
| pcmpistrm xmm, xmm, imm8 | pcmpistrm xmm, m128, imm8
| pextrb r32, xmm, imm8 | pextrb r64, xmm, imm8 | pextrb byte m8, xmm, imm8
| pextrd r32, xmm, imm8 | pextrd dword m32, xmm, imm8
| pextrq r64, xmm, imm8 | pextrq qword m64, xmm, imm8
| pextrw r32, xmm, imm8 | pextrw word m16, xmm, imm8
| phaddd xmm, xmm | phaddd xmm, m128
| phaddsw xmm, xmm | phaddsw xmm, m128
| phaddw xmm, xmm | phaddw xmm, m128
| phminposuw xmm, xmm | phminposuw xmm, m128
| phsubd xmm, xmm | phsubd xmm, m128
| phsubsw xmm, xmm | phsubsw xmm, m128
| phsubw xmm, xmm | phsubw xmm, m128
| pinsrb xmm, r32, imm8 | pinsrb xmm, byte m8, imm8
| pinsrd xmm, r32, imm8 | pinsrd xmm, dword m32, imm8
| pinsrq xmm, r64, imm8 | pinsrq xmm, qword m64, imm8
| pinsrw xmm, r32, imm8 | pinsrw xmm, word m16, imm8
| pmaddubsw xmm, xmm | pmaddubsw xmm, m128
| pmaddwd xmm, xmm | pmaddwd xmm, m128
| pmaxsb xmm, xmm | pmaxsb xmm, m128
| pmaxsd xmm, xmm | pmaxsd xmm, m128
| pmaxsw xmm, xmm | pmaxsw xmm, m128
| pmaxub xmm, xmm | pmaxub xmm, m128
| pmaxud xmm, xmm | pmaxud xmm, m128
| pmaxuw xmm, xmm | pmaxuw xmm, m128
| pminsb xmm, xmm | pminsb xmm, m128
| pminsd xmm, xmm | pminsd xmm, m128
| pminsw xmm, xmm | pminsw xmm, m128
| pminub xmm, xmm | pminub xmm, m128
| pminud xmm, xmm | pminud xmm, m128
| pminuw xmm, xmm | pminuw xmm, m128
| pmovmskb r32, xmm
| pmovsxbd xmm, xmm | pmovsxbd xmm, dword m32
| pmovsxbq xmm, xmm | pmovsxbq xmm, word m16
| pmovsxbw xmm, xmm | pmovsxbw xmm, qword m64
| pmovsxdq xmm, xmm | pmovsxdq xmm, qword m64
| pmovsxwd xmm, xmm | pmovsxwd xmm, qword m64
| pmovsxwq xmm, xmm | pmovsxwq xmm, dword m32
| pmovzxbd xmm, xmm | pmovzxbd xmm, dword m32
| pmovzxbq xmm, xmm | pmovzxbq xmm, word m16
| pmovzxbw xmm, xmm | pmovzxbw xmm, qword m64
| pmovzxdq xmm, xmm | pmovzxdq xmm, qword m64
| pmovzxwd xmm, xmm | pmovzxwd xmm, qword m64
| pmovzxwq xmm, xmm | pmovzxwq xmm, dword m32
| pmuldq xmm, xmm | pmuldq xmm, m128
| pmulhrsw xmm, xmm | pmulhrsw xmm, m128
| pmulhuw xmm, xmm | pmulhuw xmm, m128
| pmulhw xmm, xmm | pmulhw xmm, m128
| pmulld xmm, xmm | pmulld xmm, m128
| pmullw xmm, xmm | pmullw xmm, m128
| pmuludq xmm, xmm | pmuludq xmm, m128
| pop r16 | pop word m16 | pop r32 x86 | pop dword m32 x86 | pop r64 x64 | pop qword m64 x64
| popcnt reg, reg | popcnt reg, mem
| popf
| popfd x86
| popfq x64
| por xmm, xmm | por xmm, m128
| prefetchnta byte m8
| prefetcht0 byte m8
| prefetcht1 byte m8
| prefetcht2 byte m8
| psadbw xmm, xmm | psadbw xmm, m128
| pshufb xmm, xmm | pshufb xmm, m128
| pshufd xmm, xmm, imm8 | pshufd xmm, m128, imm8
| pshufhw xmm, xmm, imm8 | pshufhw xmm, m128, imm8
| pshuflw xmm, xmm, imm8 | pshuflw xmm, m128, imm8
| psignb xmm, xmm | psignb xmm, m128
| psignd xmm, xmm | psignd xmm, m128
| psignw xmm, xmm | psignw xmm, m128
| pslld xmm, xmm | pslld xmm, m128 | pslld xmm, imm8
| pslldq xmm, imm8
| psllq xmm, xmm | psllq xmm, m128 | psllq xmm, imm8
| psllw xmm, xmm | psllw xmm, m128 | psllw xmm, imm8
| psrad xmm, xmm | psrad xmm, m128 | psrad xmm, imm8
| psraw xmm, xmm | psraw xmm, m128 | psraw xmm, imm8
| psrld xmm, xmm | psrld xmm, m128 | psrld xmm, imm8
| psrldq xmm, imm8
| psrlq xmm, xmm | psrlq xmm, m128 | psrlq xmm, imm8
| psrlw xmm, xmm | psrlw xmm, m128 | psrlw xmm, imm8
| psubb xmm, xmm | psubb xmm, m128
| psubd xmm, xmm | psubd xmm, m128
| psubq xmm, xmm | psubq xmm, m128
| psubsb xmm, xmm | psubsb xmm, m128
| psubsw xmm, xmm | psubsw xmm, m128
| psubusb xmm, xmm | psubusb xmm, m128
| psubusw xmm, xmm | psubusw xmm, m128
| psubw xmm, xmm | psubw xmm, m128
| ptest xmm, xmm | ptest xmm, m128
| punpckhbw xmm, xmm | punpckhbw xmm, m128
| punpckhdq xmm, xmm | punpckhdq xmm, m128
| punpckhqdq xmm, xmm | punpckhqdq xmm, m128
| punpckhwd xmm, xmm | punpckhwd xmm, m128
| punpcklbw xmm, xmm | punpcklbw xmm, m128
| punpckldq xmm, xmm | punpckldq xmm, m128
| punpcklqdq xmm, xmm | punpcklqdq xmm, m128
| punpcklwd xmm, xmm | punpcklwd xmm, m128
| push r16 | push word m16 | push imm32 | push r32 x86 | push dword m32 x86 | push r64 x64 | push qword m64 x64
| pushf
| pushfd x86
| pushfq x64
| pxor xmm, xmm | pxor xmm, m128
| rcl reg, cl | rcl (byte|word|dword|aword|qword) mem, cl | rcl reg, imm8 | rcl (byte|word|dword|aword|qword) mem, imm8
| rcpps xmm, xmm | rcpps xmm, m128
| rcpss xmm, xmm | rcpss xmm, dword m32
| rcr reg, cl | rcr (byte|word|dword|aword|qword) mem, cl | rcr reg, imm8 | rcr (byte|word|dword|aword|qword) mem, imm8
| rdpmc
| rdtsc
| rep
| repe
| repne
| repnz
| repz
| ret
| ret imm16
| rol reg, cl | rol (byte|word|dword|aword|qword) mem, cl | rol reg, imm8 | rol (byte|word|dword|aword|qword) mem, imm8
| ror reg, cl | ror (byte|word|dword|aword|qword) mem, cl | ror reg, imm8 | ror (byte|word|dword|aword|qword) mem, imm8
| roundpd xmm, xmm, imm8 | roundpd xmm, m128, imm8
| roundps xmm, xmm, imm8 | roundps xmm, m128, imm8
| roundsd xmm, xmm, imm8 | roundsd xmm, qword m64, imm8
| roundss xmm, xmm, imm8 | roundss xmm, dword m32, imm8
| rsqrtps xmm, xmm | rsqrtps xmm, m128
| rsqrtss xmm, xmm | rsqrtss xmm, m128
| sahf
| sal reg, cl | sal (byte|word|dword|aword|qword) mem, cl | sal reg, imm8 | sal (byte|word|dword|aword|qword) mem, imm8
| sar reg, cl | sar (byte|word|dword|aword|qword) mem, cl | sar reg, imm8 | sar (byte|word|dword|aword|qword) mem, imm8
| sbb reg, reg | sbb mem, reg | sbb reg, mem | sbb reg, imm32 | sbb (byte|word|dword|aword|qword) mem, imm32
| scasb
| scasd
| scasw
| seta r8 | seta byte m8
| setae r8 | setae byte m8
| setb r8 | setb byte m8
| setbe r8 | setbe byte m8
| setc r8 | setc byte m8
| sete r8 | sete byte m8
| setg r8 | setg byte m8
| setge r8 | setge byte m8
| setl r8 | setl byte m8
| setle r8 | setle byte m8
| setna r8 | setna byte m8
| setnae r8 | setnae byte m8
| setnb r8 | setnb byte m8
| setnbe r8 | setnbe byte m8
| setnc r8 | setnc byte m8
| setne r8 | setne byte m8
| setng r8 | setng byte m8
| setnge r8 | setnge byte m8
| setnl r8 | setnl byte m8
| setnle r8 | setnle byte m8
| setno r8 | setno byte m8
| setnp r8 | setnp byte m8
| setns r8 | setns byte m8
| setnz r8 | setnz byte m8
| seto r8 | seto byte m8
| setp r8 | setp byte m8
| setpe r8 | setpe byte m8
| setpo r8 | setpo byte m8
| sets r8 | sets byte m8
| setz r8 | setz byte m8
| sfence
| shl reg, cl | shl (byte|word|dword|aword|qword) mem, cl | shl reg, imm8 | shl (byte|word|dword|aword|qword) mem, imm8
| shld reg, reg, imm8 | shld mem, reg, imm8 | shld r64, r64, cl | shld qword m64, r64, cl | shld r32, r32, cl | shld dword m32, r32, cl | shld r16, r16, cl | shld word m16, r16, cl
| shr reg, cl | shr (byte|word|dword|aword|qword) mem, cl | shr reg, imm8 | shr (byte|word|dword|aword|qword) mem, imm8
| shrd reg, reg, imm8 | shrd mem, reg, imm8 | shrd r64, r64, cl | shrd qword m64, r64, cl | shrd r32, r32, cl | shrd dword m32, r32, cl | shrd r16, r16, cl | shrd word m16, r16, cl
| shufpd xmm, xmm, imm8 | shufpd xmm, m128, imm8
| shufps xmm, xmm, imm8 | shufps xmm, m128, imm8
| sqrtpd xmm, xmm | sqrtpd xmm, m128
| sqrtps xmm, xmm | sqrtps xmm, m128
| sqrtsd xmm, xmm | sqrtsd xmm, qword m64
| sqrtss xmm, xmm | sqrtss xmm, dword m32
| ss
| stc
| std
| stmxcsr dword m32
| stosb
| stosd
| stosw
| sub reg, reg | sub mem, reg | sub reg, mem | sub reg, imm32 | sub (byte|word|dword|aword|qword) mem, imm32
| subpd xmm, xmm | subpd xmm, m128
| subps xmm, xmm | subps xmm, m128
| subsd xmm, xmm | subsd xmm, qword m64
| subss xmm, xmm | subss xmm, dword m32
| test reg, reg | test mem, reg | test reg, mem | test reg, imm32 | test (byte|word|dword|aword|qword) mem, imm32
| ucomisd xmm, xmm | ucomisd xmm, qword m64
| ucomiss xmm, xmm | ucomiss xmm, dword m32
| unpckhpd xmm, xmm | unpckhpd xmm, m128
| unpckhps xmm, xmm | unpckhps xmm, m128
| unpcklpd xmm, xmm | unpcklpd xmm, m128
| unpcklps xmm, xmm | unpcklps xmm, m128
| vaddpd xmm, xmm, xmm | vaddpd xmm, xmm, m128 | vaddpd ymm, ymm, ymm | vaddpd ymm, ymm, m256
| vaddps xmm, xmm, xmm | vaddps xmm, xmm, m128 | vaddps ymm, ymm, ymm | vaddps ymm, ymm, m256
| vaddsd xmm, xmm, xmm | vaddsd xmm, xmm, qword m64
| vaddss xmm, xmm, xmm | vaddss xmm, xmm, dword m32
| vaddsubpd xmm, xmm, xmm | vaddsubpd xmm, xmm, m128 | vaddsubpd ymm, ymm, ymm | vaddsubpd ymm, ymm, m256
| vaddsubps xmm, xmm, xmm | vaddsubps xmm, xmm, m128 | vaddsubps ymm, ymm, ymm | vaddsubps ymm, ymm, m256
| vaesdec xmm, xmm, xmm | vaesdec xmm, xmm, m128
| vaesdeclast xmm, xmm, xmm | vaesdeclast xmm, xmm, m128
| vaesenc xmm, xmm, xmm | vaesenc xmm, xmm, m128
| vaesenclast xmm, xmm, xmm | vaesenclast xmm, xmm, m128
| vaesimc xmm, xmm | vaesimc xmm, m128
| vaeskeygenassist xmm, xmm, imm8 | vaeskeygenassist xmm, m128, imm8
| vandnpd xmm, xmm, xmm | vandnpd xmm, xmm, m128 | vandnpd ymm, ymm, ymm | vandnpd ymm, ymm, m256
| vandnps xmm, xmm, xmm | vandnps xmm, xmm, m128 | vandnps ymm, ymm, ymm | vandnps ymm, ymm, m256
| vandpd xmm, xmm, xmm | vandpd xmm, xmm, m128 | vandpd ymm, ymm, ymm | vandpd ymm, ymm, m256
| vandps xmm, xmm, xmm | vandps xmm, xmm, m128 | vandps ymm, ymm, ymm | vandps ymm, ymm, m256
| vblendpd xmm, xmm, xmm, imm8 | vblendpd xmm, xmm, m128, imm8 | vblendpd ymm, ymm, ymm, imm8 | vblendpd ymm, ymm, m256, imm8
| vblendps xmm, xmm, xmm, imm8 | vblendps xmm, xmm, m128, imm8 | vblendps ymm, ymm, ymm, imm8 | vblendps ymm, ymm, m256, imm8
| vblendvpd xmm, xmm, xmm, xmm | vblendvpd xmm, xmm, m128, xmm | vblendvpd ymm, ymm, ymm, ymm | vblendvpd ymm, ymm, m256, ymm
| vblendvps xmm, xmm, xmm, xmm | vblendvps xmm, xmm, m128, xmm | vblendvps ymm, ymm, ymm, ymm | vblendvps ymm, ymm, m256, ymm
| vbroadcastf128 ymm, oword m128
| vbroadcasti128 ymm, oword m128
| vbroadcastsd ymm, qword m64 | vbroadcastsd ymm, xmm
| vbroadcastss xmm, dword m32 | vbroadcastss ymm, dword m32 | vbroadcastss xmm, xmm | vbroadcastss ymm, xmm
| vcmppd xmm, xmm, xmm, imm8 | vcmppd xmm, xmm, m128, imm8 | vcmppd ymm, ymm, ymm, imm8 | vcmppd ymm, ymm, m256, imm8
| vcmpps xmm, xmm, xmm, imm8 | vcmpps xmm, xmm, m128, imm8 | vcmpps ymm, ymm, ymm, imm8 | vcmpps ymm, ymm, m256, imm8
| vcmpsd xmm, xmm, xmm, imm8 | vcmpsd xmm, xmm, qword m64, imm8
| vcmpss xmm, xmm, xmm, imm8 | vcmpss xmm, xmm, dword m32, imm8
| vcomisd xmm, xmm | vcomisd xmm, qword m64
| vcomiss xmm, xmm | vcomiss xmm, dword m32
| vcvtdq2pd xmm, xmm | vcvtdq2pd xmm, qword m64 | vcvtdq2pd ymm, xmm | vcvtdq2pd ymm, oword m128
| vcvtdq2ps xmm, xmm | vcvtdq2ps xmm, m128 | vcvtdq2ps ymm, ymm | vcvtdq2ps ymm, m256
| vcvtpd2dq xmm, xmm | vcvtpd2dq xmm, m128 | vcvtpd2dq ymm, ymm | vcvtpd2dq ymm, m256
| vcvtpd2ps xmm, xmm | vcvtpd2ps xmm, m128 | vcvtpd2ps ymm, ymm | vcvtpd2ps ymm, m256
| vcvtps2dq xmm, xmm | vcvtps2dq xmm, m128 | vcvtps2dq ymm, ymm | vcvtps2dq ymm, m256
| vcvtps2pd xmm, xmm | vcvtps2pd xmm, qword m64 | vcvtps2pd ymm, xmm | vcvtps2pd ymm, oword m128
| vcvtsd2si r32, xmm | vcvtsd2si r32, qword m64 | vcvtsd2si r64, xmm | vcvtsd2si r64, m64
| vcvtsd2ss xmm, xmm, xmm | vcvtsd2ss xmm, xmm, qword m64
| vcvtsi2sd xmm, xmm, r32 | vcvtsi2sd xmm, xmm, dword m32 | vcvtsi2sd xmm, xmm, r64 | vcvtsi2sd xmm, xmm, qword m64
| vcvtsi2ss xmm, xmm, r32 | vcvtsi2ss xmm, xmm, dword m32 | vcvtsi2ss xmm, xmm, r64 | vcvtsi2ss xmm, xmm, qword m64
| vcvtss2sd xmm, xmm, xmm | vcvtss2sd xmm, xmm, dword m32
| vcvtss2si r32, xmm | vcvtss2si r32, m32 | vcvtss2si r64, xmm | vcvtss2si r64, dword m32
| vcvttpd2dq xmm, xmm | vcvttpd2dq xmm, m128 | vcvttpd2dq xmm, ymm | vcvttpd2dq xmm, yword m256
| vcvttps2dq xmm, xmm | vcvttps2dq xmm, m128 | vcvttps2dq ymm, ymm | vcvttps2dq ymm, m256
| vcvttsd2si r32, xmm | vcvttsd2si r32, qword m64 | vcvttsd2si r64, xmm | vcvttsd2si r64, m64
| vcvttss2si r32, xmm | vcvttss2si r32, m32 | vcvttss2si r64, xmm | vcvttss2si r64, dword m32
| vdivpd xmm, xmm, xmm | vdivpd xmm, xmm, m128 | vdivpd ymm, ymm, ymm | vdivpd ymm, ymm, m256
| vdivps xmm, xmm, xmm | vdivps xmm, xmm, m128 | vdivps ymm, ymm, ymm | vdivps ymm, ymm, m256
| vdivsd xmm, xmm, xmm | vdivsd xmm, xmm, qword m64
| vdivss xmm, xmm, xmm | vdivss xmm, xmm, dword m32
| vdppd xmm, xmm, xmm, imm8 | vdppd xmm, xmm, m128, imm8
| vdpps xmm, xmm, xmm, imm8 | vdpps xmm, xmm, m128, imm8 | vdpps ymm, ymm, ymm, imm8 | vdpps ymm, ymm, m256, imm8
| vextractf128 xmm, ymm, imm8 | vextractf128 oword m128, ymm, imm8
| vextracti128 xmm, ymm, imm8 | vextracti128 oword m128, ymm, imm8
| vextractps r32, xmm, imm8 | vextractps dword m32, xmm, imm8
| vhaddpd xmm, xmm, xmm | vhaddpd xmm, xmm, m128 | vhaddpd ymm, ymm, ymm | vhaddpd ymm, ymm, m256
| vhaddps xmm, xmm, xmm | vhaddps xmm, xmm, m128 | vhaddps ymm, ymm, ymm | vhaddps ymm, ymm, m256
| vhsubpd xmm, xmm, xmm | vhsubpd xmm, xmm, m128 | vhsubpd ymm, ymm, ymm | vhsubpd ymm, ymm, m256
| vhsubps xmm, xmm, xmm | vhsubps xmm, xmm, m128 | vhsubps ymm, ymm, ymm | vhsubps ymm, ymm, m256
| vinsertf128 ymm, ymm, xmm, imm8 | vinsertf128 ymm, ymm, oword m128, imm8
| vinserti128 ymm, ymm, xmm, imm8 | vinserti128 ymm, ymm, oword m128, imm8
| vinsertps xmm, xmm, xmm, imm8 | vinsertps xmm, xmm, dword m32, imm8
| vlddqu xmm, m128 | vlddqu ymm, m256
| vldmxcsr dword m32
| vmaskmovdqu xmm, xmm
| vmaskmovpd xmm, xmm, m128 | vmaskmovpd ymm, ymm, m256 | vmaskmovpd m128, xmm, xmm | vmaskmovpd m256, ymm, ymm
| vmaskmovps xmm, xmm, m128 | vmaskmovps ymm, ymm, m256 | vmaskmovps m128, xmm, xmm | vmaskmovps m256, ymm, ymm
| vmaxpd xmm, xmm, xmm | vmaxpd xmm, xmm, m128 | vmaxpd ymm, ymm, ymm | vmaxpd ymm, ymm, m256
| vmaxps xmm, xmm, xmm | vmaxps xmm, xmm, m128 | vmaxps ymm, ymm, ymm | vmaxps ymm, ymm, m256
| vmaxsd xmm, xmm, xmm | vmaxsd xmm, xmm, qword m64
| vmaxss xmm, xmm, xmm | vmaxss xmm, xmm, dword m32
| vminpd xmm, xmm, xmm | vminpd xmm, xmm, m128 | vminpd ymm, ymm, ymm | vminpd ymm, ymm, m256
| vminps xmm, xmm, xmm | vminps xmm, xmm, m128 | vminps ymm, ymm, ymm | vminps ymm, ymm, m256
| vminsd xmm, xmm, xmm | vminsd xmm, xmm, qword m64
| vminss xmm, xmm, xmm | vminss xmm, xmm, dword m32
| vmovapd xmm, xmm | vmovapd xmm, m128 | vmovapd ymm, ymm | vmovapd ymm, m256 | vmovapd m128, xmm | vmovapd m256, ymm
| vmovaps xmm, xmm | vmovaps xmm, m128 | vmovaps ymm, ymm | vmovaps ymm, m256 | vmovaps m128, xmm | vmovaps m256, ymm
| vmovd xmm, r32 | vmovd xmm, dword m32 | vmovd xmm, r64 | vmovd xmm, qword m64 | vmovd r32, xmm | vmovd dword m32, xmm | vmovd r64, xmm | vmovd qword m64, xmm
| vmovddup ymm, ymm | vmovddup ymm, m256 | vmovddup xmm, xmm | vmovddup xmm, qword m64
| vmovdqa xmm, xmm | vmovdqa xmm, m128 | vmovdqa ymm, ymm | vmovdqa ymm, m256 | vmovdqa m128, xmm | vmovdqa m256, ymm
| vmovdqu xmm, xmm | vmovdqu xmm, m128 | vmovdqu ymm, ymm | vmovdqu ymm, m256 | vmovdqu m128, xmm | vmovdqu m256, ymm
| vmovhlps xmm, xmm, xmm
| vmovhpd qword m64, xmm
| vmovhpd xmm, xmm, qword m64
| vmovhps qword m64, xmm
| vmovhps xmm, xmm, qword m64
| vmovlhps xmm, xmm, xmm
| vmovlpd qword m64, xmm
| vmovlpd xmm, xmm, qword m64
| vmovlps qword m64, xmm
| vmovlps xmm, xmm, qword m64
| vmovmskpd r32, xmm | vmovmskpd r32, ymm
| vmovmskps r32, xmm | vmovmskps r32, ymm
| vmovntdq m128, xmm | vmovntdq m256, ymm
| vmovntdqa xmm, m128 | vmovntdqa ymm, m256
| vmovntpd m128, xmm | vmovntpd m256, ymm
| vmovntps m128, xmm | vmovntps m256, ymm
| vmovq xmm, xmm | vmovq xmm, qword m64 | vmovq qword m64, xmm
| vmovsd xmm, qword m64 | vmovsd qword m64, xmm
| vmovsd xmm, xmm, xmm
| vmovshdup xmm, xmm | vmovshdup xmm, m128 | vmovshdup ymm, ymm | vmovshdup ymm, m256
| vmovsldup xmm, xmm | vmovsldup xmm, m128 | vmovsldup ymm, ymm | vmovsldup ymm, m256
| vmovss xmm, dword m32 | vmovss dword m32, xmm
| vmovss xmm, xmm, xmm
| vmovupd xmm, xmm | vmovupd xmm, m128 | vmovupd ymm, ymm | vmovupd ymm, m256 | vmovupd m128, xmm | vmovupd m256, ymm
| vmovups xmm, xmm | vmovups xmm, m128 | vmovups ymm, ymm | vmovups ymm, m256 | vmovups m128, xmm | vmovups m256, ymm
| vmpsadbw xmm, xmm, xmm, imm8 | vmpsadbw xmm, xmm, m128, imm8 | vmpsadbw ymm, ymm, ymm, imm8 | vmpsadbw ymm, ymm, m256, imm8
| vmulpd xmm, xmm, xmm | vmulpd xmm, xmm, m128 | vmulpd ymm, ymm, ymm | vmulpd ymm, ymm, m256
| vmulps xmm, xmm, xmm | vmulps xmm, xmm, m128 | vmulps ymm, ymm, ymm | vmulps ymm, ymm, m256
| vmulsd xmm, xmm, xmm | vmulsd xmm, xmm, qword m64
| vmulss xmm, xmm, xmm | vmulss xmm, xmm, dword m32
| vorpd xmm, xmm, xmm | vorpd xmm, xmm, m128 | vorpd ymm, ymm, ymm | vorpd ymm, ymm, m256
| vorps xmm, xmm, xmm | vorps xmm, xmm, m128 | vorps ymm, ymm, ymm | vorps ymm, ymm, m256
| vpabsb xmm, xmm | vpabsb xmm, m128 | vpabsb ymm, ymm | vpabsb ymm, m256
| vpabsd xmm, xmm | vpabsd xmm, m128 | vpabsd ymm, ymm | vpabsd ymm, m256
| vpabsw xmm, xmm | vpabsw xmm, m128 | vpabsw ymm, ymm | vpabsw ymm, m256
| vpackssdw xmm, xmm, xmm | vpackssdw xmm, xmm, m128 | vpackssdw ymm, ymm, ymm | vpackssdw ymm, ymm, m256
| vpacksswb xmm, xmm, xmm | vpacksswb xmm, xmm, m128 | vpacksswb ymm, ymm, ymm | vpacksswb ymm, ymm, m256
| vpackusdw xmm, xmm, xmm | vpackusdw xmm, xmm, m128 | vpackusdw ymm, ymm, ymm | vpackusdw ymm, ymm, m256
| vpackuswb xmm, xmm, xmm | vpackuswb xmm, xmm, m128 | vpackuswb ymm, ymm, ymm | vpackuswb ymm, ymm, m256
| vpaddb xmm, xmm, xmm | vpaddb xmm, xmm, m128 | vpaddb ymm, ymm, ymm | vpaddb ymm, ymm, m256
| vpaddd xmm, xmm, xmm | vpaddd xmm, xmm, m128 | vpaddd ymm, ymm, ymm | vpaddd ymm, ymm, m256
| vpaddq xmm, xmm, xmm | vpaddq xmm, xmm, m128 | vpaddq ymm, ymm, ymm | vpaddq ymm, ymm, m256
| vpaddsb xmm, xmm, xmm | vpaddsb xmm, xmm, m128 | vpaddsb ymm, ymm, ymm | vpaddsb ymm, ymm, m256
| vpaddsw xmm, xmm, xmm | vpaddsw xmm, xmm, m128 | vpaddsw ymm, ymm, ymm | vpaddsw ymm, ymm, m256
| vpaddusb xmm, xmm, xmm | vpaddusb xmm, xmm, m128 | vpaddusb ymm, ymm, ymm | vpaddusb ymm, ymm, m256
| vpaddusw xmm, xmm, xmm | vpaddusw xmm, xmm, m128 | vpaddusw ymm, ymm, ymm | vpaddusw ymm, ymm, m256
| vpaddw xmm, xmm, xmm | vpaddw xmm, xmm, m128 | vpaddw ymm, ymm, ymm | vpaddw ymm, ymm, m256
| vpalignr xmm, xmm, xmm, imm8 | vpalignr xmm, xmm, m128, imm8 | vpalignr ymm, ymm, ymm, imm8 | vpalignr ymm, ymm, m256, imm8
| vpand xmm, xmm, xmm | vpand xmm, xmm, m128 | vpand ymm, ymm, ymm | vpand ymm, ymm, m256
| vpandn xmm, xmm, xmm | vpandn xmm, xmm, m128 | vpandn ymm, ymm, ymm | vpandn ymm, ymm, m256
| vpavgb xmm, xmm, xmm | vpavgb xmm, xmm, m128 | vpavgb ymm, ymm, ymm | vpavgb ymm, ymm, m256
| vpavgw xmm, xmm, xmm | vpavgw xmm, xmm, m128 | vpavgw ymm, ymm, ymm | vpavgw ymm, ymm, m256
| vpblendd xmm, xmm, xmm, imm8 | vpblendd xmm, xmm, m128, imm8 | vpblendd ymm, ymm, ymm, imm8 | vpblendd ymm, ymm, m256, imm8
| vpblendvb xmm, xmm, xmm, xmm | vpblendvb xmm, xmm, m128, xmm | vpblendvb ymm, ymm, ymm, ymm | vpblendvb ymm, ymm, m256, ymm
| vpblendw xmm, xmm, xmm, imm8 | vpblendw xmm, xmm, m128, imm8 | vpblendw ymm, ymm, ymm, imm8 | vpblendw ymm, ymm, m256, imm8
| vpbroadcastb xmm, xmm | vpbroadcastb xmm, byte m8 | vpbroadcastb ymm, xmm | vpbroadcastb ymm, byte m8
| vpbroadcastd xmm, xmm | vpbroadcastd xmm, dword m32 | vpbroadcastd ymm, xmm | vpbroadcastd ymm, dword m32
| vpbroadcastq xmm, xmm | vpbroadcastq xmm, qword m64 | vpbroadcastq ymm, xmm | vpbroadcastq ymm, qword m64
| vpbroadcastw xmm, xmm | vpbroadcastw xmm, word m16 | vpbroadcastw ymm, xmm | vpbroadcastw ymm, word m16
| vpclmulqdq xmm, xmm, xmm, imm8 | vpclmulqdq xmm, xmm, m128, imm8
| vpcmpeqb xmm, xmm, xmm | vpcmpeqb xmm, xmm, m128 | vpcmpeqb ymm, ymm, ymm | vpcmpeqb ymm, ymm, m256
| vpcmpeqd xmm, xmm, xmm | vpcmpeqd xmm, xmm, m128 | vpcmpeqd ymm, ymm, ymm | vpcmpeqd ymm, ymm, m256
| vpcmpeqq xmm, xmm, xmm | vpcmpeqq xmm, xmm, m128 | vpcmpeqq ymm, ymm, ymm | vpcmpeqq ymm, ymm, m256
| vpcmpeqw xmm, xmm, xmm | vpcmpeqw xmm, xmm, m128 | vpcmpeqw ymm, ymm, ymm | vpcmpeqw ymm, ymm, m256
| vpcmpestri xmm, xmm, imm8 | vpcmpestri xmm, m128, imm8
| vpcmpestrm xmm, xmm, imm8 | vpcmpestrm xmm, m128, imm8
| vpcmpgtb xmm, xmm, xmm | vpcmpgtb xmm, xmm, m128 | vpcmpgtb ymm, ymm, ymm | vpcmpgtb ymm, ymm, m256
| vpcmpgtd xmm, xmm, xmm | vpcmpgtd xmm, xmm, m128 | vpcmpgtd ymm, ymm, ymm | vpcmpgtd ymm, ymm, m256
| vpcmpgtq xmm, xmm, xmm | vpcmpgtq xmm, xmm, m128 | vpcmpgtq ymm, ymm, ymm | vpcmpgtq ymm, ymm, m256
| vpcmpgtw xmm, xmm, xmm | vpcmpgtw xmm, xmm, m128 | vpcmpgtw ymm, ymm, ymm | vpcmpgtw ymm, ymm, m256
| vpcmpistri xmm, xmm, imm8 | vpcmpistri xmm, m128, imm8
| vpcmpistrm xmm, xmm, imm8 | vpcmpistrm xmm, m128, imm8
| vperm2f128 ymm, ymm, ymm, imm8 | vperm2f128 ymm, ymm, m256, imm8
| vperm2i128 ymm, ymm, ymm, imm8 | vperm2i128 ymm, ymm, m256, imm8
| vpermd ymm, ymm, ymm | vpermd ymm, ymm, m256
| vpermilpd xmm, xmm, xmm | vpermilpd xmm, xmm, m128 | vpermilpd ymm, ymm, ymm | vpermilpd ymm, ymm, m256 | vpermilpd xmm, xmm, imm8 | vpermilpd xmm, m128, imm8 | vpermilpd ymm, ymm, imm8 | vpermilpd ymm, m256, imm8
| vpermilps xmm, xmm, xmm | vpermilps xmm, xmm, m128 | vpermilps ymm, ymm, ymm | vpermilps ymm, ymm, m256 | vpermilps xmm, xmm, imm8 | vpermilps xmm, m128, imm8 | vpermilps ymm, ymm, imm8 | vpermilps ymm, m256, imm8
| vpermpd ymm, ymm, imm8 | vpermpd ymm, m256, imm8
| vpermps ymm, ymm, ymm | vpermps ymm, ymm, m256
| vpermq ymm, ymm, imm8 | vpermq ymm, m256, imm8
| vpextrb r32, xmm, imm8 | vpextrb r64, xmm, imm8 | vpextrb byte m8, xmm, imm8
| vpextrd r32, xmm, imm8 | vpextrd dword m32, xmm, imm8
| vpextrq r64, xmm, imm8 | vpextrq qword m64, xmm, imm8
| vpextrw r32, xmm, imm8 | vpextrw word m16, xmm, imm8
| vphaddd xmm, xmm, xmm | vphaddd xmm, xmm, m128 | vphaddd ymm, ymm, ymm | vphaddd ymm, ymm, m256
| vphaddsw xmm, xmm, xmm | vphaddsw xmm, xmm, m128 | vphaddsw ymm, ymm, ymm | vphaddsw ymm, ymm, m256
| vphaddw xmm, xmm, xmm | vphaddw xmm, xmm, m128 | vphaddw ymm, ymm, ymm | vphaddw ymm, ymm, m256
| vphminposuw xmm, xmm | vphminposuw xmm, m128
| vphsubd xmm, xmm, xmm | vphsubd xmm, xmm, m128 | vphsubd ymm, ymm, ymm | vphsubd ymm, ymm, m256
| vphsubsw xmm, xmm, xmm | vphsubsw xmm, xmm, m128 | vphsubsw ymm, ymm, ymm | vphsubsw ymm, ymm, m256
| vphsubw xmm, xmm, xmm | vphsubw xmm, xmm, m128 | vphsubw ymm, ymm, ymm | vphsubw ymm, ymm, m256
| vpinsrb xmm, xmm, r32, imm8 | vpinsrb xmm, xmm, byte m8, imm8
| vpinsrd xmm, xmm, r32, imm8 | vpinsrd xmm, xmm, dword m32, imm8
| vpinsrq xmm, xmm, r64, imm8 | vpinsrq xmm, xmm, qword m64, imm8
| vpinsrw xmm, xmm, r32, imm8 | vpinsrw xmm, xmm, word m16, imm8
| vpmaddubsw xmm, xmm, xmm | vpmaddubsw xmm, xmm, m128 | vpmaddubsw ymm, ymm, ymm | vpmaddubsw ymm, ymm, m256
| vpmaddwd xmm, xmm, xmm | vpmaddwd xmm, xmm, m128 | vpmaddwd ymm, ymm, ymm | vpmaddwd ymm, ymm, m256
| vpmaskmovd xmm, xmm, m128 | vpmaskmovd ymm, ymm, m256 | vpmaskmovd m128, xmm, xmm | vpmaskmovd m256, ymm, ymm
| vpmaskmovq xmm, xmm, m128 | vpmaskmovq ymm, ymm, m256 | vpmaskmovq m128, xmm, xmm | vpmaskmovq m256, ymm, ymm
| vpmaxsb xmm, xmm, xmm | vpmaxsb xmm, xmm, m128 | vpmaxsb ymm, ymm, ymm | vpmaxsb ymm, ymm, m256
| vpmaxsd xmm, xmm, xmm | vpmaxsd xmm, xmm, m128 | vpmaxsd ymm, ymm, ymm | vpmaxsd ymm, ymm, m256
| vpmaxsw xmm, xmm, xmm | vpmaxsw xmm, xmm, m128 | vpmaxsw ymm, ymm, ymm | vpmaxsw ymm, ymm, m256
| vpmaxub xmm, xmm, xmm | vpmaxub xmm, xmm, m128 | vpmaxub ymm, ymm, ymm | vpmaxub ymm, ymm, m256
| vpmaxud xmm, xmm, xmm | vpmaxud xmm, xmm, m128 | vpmaxud ymm, ymm, ymm | vpmaxud ymm, ymm, m256
| vpmaxuw xmm, xmm, xmm | vpmaxuw xmm, xmm, m128 | vpmaxuw ymm, ymm, ymm | vpmaxuw ymm, ymm, m256
| vpminsb xmm, xmm, xmm | vpminsb xmm, xmm, m128 | vpminsb ymm, ymm, ymm | vpminsb ymm, ymm, m256
| vpminsd xmm, xmm, xmm | vpminsd xmm, xmm, m128 | vpminsd ymm, ymm, ymm | vpminsd ymm, ymm, m256
| vpminsw xmm, xmm, xmm | vpminsw xmm, xmm, m128 | vpminsw ymm, ymm, ymm | vpminsw ymm, ymm, m256
| vpminub xmm, xmm, xmm | vpminub xmm, xmm, m128 | vpminub ymm, ymm, ymm | vpminub ymm, ymm, m256
| vpminud xmm, xmm, xmm | vpminud xmm, xmm, m128 | vpminud ymm, ymm, ymm | vpminud ymm, ymm, m256
| vpminuw xmm, xmm, xmm | vpminuw xmm, xmm, m128 | vpminuw ymm, ymm, ymm | vpminuw ymm, ymm, m256
| vpmovmskb r32, xmm | vpmovmskb r32, ymm
| vpmovsxbd xmm, xmm | vpmovsxbd ymm, ymm | vpmovsxbd xmm, dword m32 | vpmovsxbd ymm, qword m64
| vpmovsxbq xmm, xmm | vpmovsxbq ymm, ymm | vpmovsxbq xmm, word m16 | vpmovsxbq ymm, dword m32
| vpmovsxbw xmm, xmm | vpmovsxbw ymm, ymm | vpmovsxbw xmm, qword m64 | vpmovsxbw ymm, oword m128
| vpmovsxdq xmm, xmm | vpmovsxdq ymm, ymm | vpmovsxdq xmm, qword m64 | vpmovsxdq ymm, oword m128
| vpmovsxwd xmm, xmm | vpmovsxwd ymm, ymm | vpmovsxwd xmm, qword m64 | vpmovsxwd ymm, oword m128
| vpmovsxwq xmm, xmm | vpmovsxwq ymm, ymm | vpmovsxwq xmm, dword m32 | vpmovsxwq ymm, qword m64
| vpmovzxbd xmm, xmm | vpmovzxbd ymm, ymm | vpmovzxbd xmm, dword m32 | vpmovzxbd ymm, qword m64
| vpmovzxbq xmm, xmm | vpmovzxbq ymm, ymm | vpmovzxbq xmm, word m16 | vpmovzxbq ymm, dword m32
| vpmovzxbw xmm, xmm | vpmovzxbw ymm, ymm | vpmovzxbw xmm, qword m64 | vpmovzxbw ymm, oword m128
| vpmovzxdq xmm, xmm | vpmovzxdq ymm, ymm | vpmovzxdq xmm, qword m64 | vpmovzxdq ymm, oword m128
| vpmovzxwd xmm, xmm | vpmovzxwd ymm, ymm | vpmovzxwd xmm, qword m64 | vpmovzxwd ymm, oword m128
| vpmovzxwq xmm, xmm | vpmovzxwq ymm, ymm | vpmovzxwq xmm, dword m32 | vpmovzxwq ymm, qword m64
| vpmuldq xmm, xmm, xmm | vpmuldq xmm, xmm, m128 | vpmuldq ymm, ymm, ymm | vpmuldq ymm, ymm, m256
| vpmulhrsw xmm, xmm, xmm | vpmulhrsw xmm, xmm, m128 | vpmulhrsw ymm, ymm, ymm | vpmulhrsw ymm, ymm, m256
| vpmulhuw xmm, xmm, xmm | vpmulhuw xmm, xmm, m128 | vpmulhuw ymm, ymm, ymm | vpmulhuw ymm, ymm, m256
| vpmulhw xmm, xmm, xmm | vpmulhw xmm, xmm, m128 | vpmulhw ymm, ymm, ymm | vpmulhw ymm, ymm, m256
| vpmulld xmm, xmm, xmm | vpmulld xmm, xmm, m128 | vpmulld ymm, ymm, ymm | vpmulld ymm, ymm, m256
| vpmullw xmm, xmm, xmm | vpmullw xmm, xmm, m128 | vpmullw ymm, ymm, ymm | vpmullw ymm, ymm, m256
| vpmuludq xmm, xmm, xmm | vpmuludq xmm, xmm, m128 | vpmuludq ymm, ymm, ymm | vpmuludq ymm, ymm, m256
| vpor xmm, xmm, xmm | vpor xmm, xmm, m128 | vpor ymm, ymm, ymm | vpor ymm, ymm, m256
| vpsadbw xmm, xmm, xmm | vpsadbw xmm, xmm, m128 | vpsadbw ymm, ymm, ymm | vpsadbw ymm, ymm, m256
| vpshufb xmm, xmm, xmm | vpshufb xmm, xmm, m128 | vpshufb ymm, ymm, ymm | vpshufb ymm, ymm, m256
| vpshufd xmm, xmm, imm8 | vpshufd xmm, m128, imm8 | vpshufd ymm, ymm, imm8 | vpshufd ymm, m256, imm8
| vpshufhw xmm, xmm, imm8 | vpshufhw xmm, m128, imm8 | vpshufhw ymm, ymm, imm8 | vpshufhw ymm, m256, imm8
| vpshuflw xmm, xmm, imm8 | vpshuflw xmm, m128, imm8 | vpshuflw ymm, ymm, imm8 | vpshuflw ymm, m256, imm8
| vpsignb xmm, xmm, xmm | vpsignb xmm, xmm, m128 | vpsignb ymm, ymm, ymm | vpsignb ymm, ymm, m256
| vpsignd xmm, xmm, xmm | vpsignd xmm, xmm, m128 | vpsignd ymm, ymm, ymm | vpsignd ymm, ymm, m256
| vpsignw xmm, xmm, xmm | vpsignw xmm, xmm, m128 | vpsignw ymm, ymm, ymm | vpsignw ymm, ymm, m256
| vpslld xmm, xmm, xmm | vpslld xmm, xmm, m128 | vpslld ymm, ymm, ymm | vpslld ymm, ymm, m256 | vpslld xmm, xmm, imm8 | vpslld ymm, ymm, imm8
| vpslldq xmm, xmm, imm8 | vpslldq ymm, ymm, imm8
| vpsllq xmm, xmm, xmm | vpsllq xmm, xmm, m128 | vpsllq ymm, ymm, ymm | vpsllq ymm, ymm, m256 | vpsllq xmm, xmm, imm8 | vpsllq ymm, ymm, imm8
| vpsllvd xmm, xmm, xmm | vpsllvd xmm, xmm, m128 | vpsllvd ymm, ymm, ymm | vpsllvd ymm, ymm, m256
| vpsllvq xmm, xmm, xmm | vpsllvq xmm, xmm, m128 | vpsllvq ymm, ymm, ymm | vpsllvq ymm, ymm, m256
| vpsllw xmm, xmm, xmm | vpsllw xmm, xmm, m128 | vpsllw ymm, ymm, ymm | vpsllw ymm, ymm, m256 | vpsllw xmm, xmm, imm8 | vpsllw ymm, ymm, imm8
| vpsrad xmm, xmm, xmm | vpsrad xmm, xmm, m128 | vpsrad ymm, ymm, ymm | vpsrad ymm, ymm, m256 | vpsrad xmm, xmm, imm8 | vpsrad ymm, ymm, imm8
| vpsravd xmm, xmm, xmm | vpsravd xmm, xmm, m128 | vpsravd ymm, ymm, ymm | vpsravd ymm, ymm, m256
| vpsraw xmm, xmm, xmm | vpsraw xmm, xmm, m128 | vpsraw ymm, ymm, ymm | vpsraw ymm, ymm, m256 | vpsraw xmm, xmm, imm8 | vpsraw ymm, ymm, imm8
| vpsrld xmm, xmm, xmm | vpsrld xmm, xmm, m128 | vpsrld ymm, ymm, ymm | vpsrld ymm, ymm, m256 | vpsrld xmm, xmm, imm8 | vpsrld ymm, ymm, imm8
| vpsrldq xmm, xmm, imm8 | vpsrldq ymm, ymm, imm8
| vpsrlq xmm, xmm, xmm | vpsrlq xmm, xmm, m128 | vpsrlq ymm, ymm, ymm | vpsrlq ymm, ymm, m256 | vpsrlq xmm, xmm, imm8 | vpsrlq ymm, ymm, imm8
| vpsrlvd xmm, xmm, xmm | vpsrlvd xmm, xmm, m128 | vpsrlvd ymm, ymm, ymm | vpsrlvd ymm, ymm, m256
| vpsrlvq xmm, xmm, xmm | vpsrlvq xmm, xmm, m128 | vpsrlvq ymm, ymm, ymm | vpsrlvq ymm, ymm, m256
| vpsrlw xmm, xmm, xmm | vpsrlw xmm, xmm, m128 | vpsrlw ymm, ymm, ymm | vpsrlw ymm, ymm, m256 | vpsrlw xmm, xmm, imm8 | vpsrlw ymm, ymm, imm8
| vpsubb xmm, xmm, xmm | vpsubb xmm, xmm, m128 | vpsubb ymm, ymm, ymm | vpsubb ymm, ymm, m256
| vpsubd xmm, xmm, xmm | vpsubd xmm, xmm, m128 | vpsubd ymm, ymm, ymm | vpsubd ymm, ymm, m256
| vpsubq xmm, xmm, xmm | vpsubq xmm, xmm, m128 | vpsubq ymm, ymm, ymm | vpsubq ymm, ymm, m256
| vpsubsb xmm, xmm, xmm | vpsubsb xmm, xmm, m128 | vpsubsb ymm, ymm, ymm | vpsubsb ymm, ymm, m256
| vpsubsw xmm, xmm, xmm | vpsubsw xmm, xmm, m128 | vpsubsw ymm, ymm, ymm | vpsubsw ymm, ymm, m256
| vpsubusb xmm, xmm, xmm | vpsubusb xmm, xmm, m128 | vpsubusb ymm, ymm, ymm | vpsubusb ymm, ymm, m256
| vpsubusw xmm, xmm, xmm | vpsubusw xmm, xmm, m128 | vpsubusw ymm, ymm, ymm | vpsubusw ymm, ymm, m256
| vpsubw xmm, xmm, xmm | vpsubw xmm, xmm, m128 | vpsubw ymm, ymm, ymm | vpsubw ymm, ymm, m256
| vptest xmm, xmm | vptest xmm, m128 | vptest ymm, ymm | vptest ymm, m256
| vptestpd xmm, xmm | vptestpd xmm, m128 | vptestpd ymm, ymm | vptestpd ymm, m256
| vptestps xmm, xmm | vptestps xmm, m128 | vptestps ymm, ymm | vptestps ymm, m256
| vpunpckhbw xmm, xmm, xmm | vpunpckhbw xmm, xmm, m128 | vpunpckhbw ymm, ymm, ymm | vpunpckhbw ymm, ymm, m256
| vpunpckhdq xmm, xmm, xmm | vpunpckhdq xmm, xmm, m128 | vpunpckhdq ymm, ymm, ymm | vpunpckhdq ymm, ymm, m256
| vpunpckhqdq xmm, xmm, xmm | vpunpckhqdq xmm, xmm, m128 | vpunpckhqdq ymm, ymm, ymm | vpunpckhqdq ymm, ymm, m256
| vpunpckhwd xmm, xmm, xmm | vpunpckhwd xmm, xmm, m128 | vpunpckhwd ymm, ymm, ymm | vpunpckhwd ymm, ymm, m256
| vpunpcklbw xmm, xmm, xmm | vpunpcklbw xmm, xmm, m128 | vpunpcklbw ymm, ymm, ymm | vpunpcklbw ymm, ymm, m256
| vpunpckldq xmm, xmm, xmm | vpunpckldq xmm, xmm, m128 | vpunpckldq ymm, ymm, ymm | vpunpckldq ymm, ymm, m256
| vpunpcklqdq xmm, xmm, xmm | vpunpcklqdq xmm, xmm, m128 | vpunpcklqdq ymm, ymm, ymm | vpunpcklqdq ymm, ymm, m256
| vpunpcklwd xmm, xmm, xmm | vpunpcklwd xmm, xmm, m128 | vpunpcklwd ymm, ymm, ymm | vpunpcklwd ymm, ymm, m256
| vpxor xmm, xmm, xmm | vpxor xmm, xmm, m128 | vpxor ymm, ymm, ymm | vpxor ymm, ymm, m256
| vrcpps xmm, xmm | vrcpps xmm, m128 | vrcpps ymm, ymm | vrcpps ymm, m256
| vrcpss xmm, xmm, xmm | vrcpss xmm, xmm, dword m32
| vroundpd xmm, xmm, imm8 | vroundpd xmm, m128, imm8 | vroundpd ymm, ymm, imm8 | vroundpd ymm, m256, imm8
| vroundps xmm, xmm, imm8 | vroundps xmm, m128, imm8 | vroundps ymm, ymm, imm8 | vroundps ymm, m256, imm8
| vroundsd xmm, xmm, xmm, imm8 | vroundsd xmm, xmm, qword m64, imm8
| vroundss xmm, xmm, xmm, imm8 | vroundss xmm, xmm, dword m32, imm8
| vrsqrtps xmm, xmm | vrsqrtps xmm, m128 | vrsqrtps ymm, ymm | vrsqrtps ymm, m256
| vrsqrtss xmm, xmm, xmm | vrsqrtss xmm, xmm, dword m32
| vshufpd xmm, xmm, xmm, imm8 | vshufpd xmm, xmm, m128, imm8 | vshufpd ymm, ymm, ymm, imm8 | vshufpd ymm, ymm, m256, imm8
| vshufps xmm, xmm, xmm, imm8 | vshufps xmm, xmm, m128, imm8 | vshufps ymm, ymm, ymm, imm8 | vshufps ymm, ymm, m256, imm8
| vsqrtpd xmm, xmm | vsqrtpd xmm, m128 | vsqrtpd ymm, ymm | vsqrtpd ymm, m256
| vsqrtps xmm, xmm | vsqrtps xmm, m128 | vsqrtps ymm, ymm | vsqrtps ymm, m256
| vsqrtsd xmm, xmm | vsqrtsd xmm, qword m64
| vsqrtss xmm, xmm | vsqrtss xmm, dword m32
| vstmxcsr dword m32
| vsubpd xmm, xmm, xmm | vsubpd xmm, xmm, m128 | vsubpd ymm, ymm, ymm | vsubpd ymm, ymm, m256
| vsubps xmm, xmm, xmm | vsubps xmm, xmm, m128 | vsubps ymm, ymm, ymm | vsubps ymm, ymm, m256
| vsubsd xmm, xmm, xmm | vsubsd xmm, xmm, qword m64
| vsubss xmm, xmm, xmm | vsubss xmm, xmm, dword m32
| vucomisd xmm, xmm | vucomisd xmm, qword m64
| vucomiss xmm, xmm | vucomiss xmm, dword m32
| vunpckhpd xmm, xmm, xmm | vunpckhpd xmm, xmm, m128 | vunpckhpd ymm, ymm, ymm | vunpckhpd ymm, ymm, m256
| vunpckhps xmm, xmm, xmm | vunpckhps xmm, xmm, m128 | vunpckhps ymm, ymm, ymm | vunpckhps ymm, ymm, m256
| vunpcklpd xmm, xmm, xmm | vunpcklpd xmm, xmm, m128 | vunpcklpd ymm, ymm, ymm | vunpcklpd ymm, ymm, m256
| vunpcklps xmm, xmm, xmm | vunpcklps xmm, xmm, m128 | vunpcklps ymm, ymm, ymm | vunpcklps ymm, ymm, m256
| vxorpd xmm, xmm, xmm | vxorpd xmm, xmm, m128 | vxorpd ymm, ymm, ymm | vxorpd ymm, ymm, m256
| vxorps xmm, xmm, xmm | vxorps xmm, xmm, m128 | vxorps ymm, ymm, ymm | vxorps ymm, ymm, m256
| vzeroall
| vzeroupper
| wait
| xchg reg, reg | xchg reg, mem | xchg mem, reg
| xor reg, reg | xor mem, reg | xor reg, mem | xor reg, imm32 | xor (byte|word|dword|aword|qword) mem, imm32
| xorpd xmm, xmm | xorpd xmm, m128
| xorps xmm, xmm | xorps xmm, m128