# AMD64: instruction inventory Generated by gasm-devkit's `_gen` from the Go toolchain's instruction table (`cmd/internal/obj/x86/anames.go`, go1.27.1); DO NOT EDIT. This page lists every mnemonic `go tool asm` accepts on this target, which is the upper bound of the language on it: a name absent here is not an instruction of the target, and a name present here may still be one gasm's encoder cannot emit yet. The `gasm encodes` column reports whether gasm's encoder can emit the mnemonic today; the gap is the encoder backlog, measured live by `gasm audit-instructions`. | Mnemonic | gasm encodes | Notes | |---|---|---| | `CALL` | yes | Call subroutine | | `DUFFCOPY` | no | | | `DUFFZERO` | no | | | `END` | yes | | | `FUNCDATA` | yes | | | `GETCALLERPC` | no | | | `JMP` | yes | Unconditional jump | | `NOP` | yes | No operation | | `PCALIGN` | no | | | `PCALIGNMAX` | no | | | `PCDATA` | yes | | | `RET` | yes | Return from subroutine | | `TEXT` | no | | | `UNDEF` | yes | | | `AAA` | no | | | `AAD` | no | | | `AAM` | no | | | `AAS` | no | | | `ADCB` | yes | ADC integer | | `ADCL` | yes | ADC integer | | `ADCQ` | yes | ADC integer | | `ADCW` | yes | ADC integer | | `ADCXL` | yes | | | `ADCXQ` | yes | | | `ADDB` | yes | ADD integer | | `ADDL` | yes | ADD integer | | `ADDPD` | yes | | | `ADDPS` | yes | | | `ADDQ` | yes | ADD integer | | `ADDSD` | yes | | | `ADDSS` | yes | | | `ADDSUBPD` | no | | | `ADDSUBPS` | no | | | `ADDW` | yes | ADD integer | | `ADJSP` | yes | | | `ADOXL` | yes | | | `ADOXQ` | yes | | | `AESDEC` | yes | | | `AESDECLAST` | yes | | | `AESENC` | yes | | | `AESENCLAST` | yes | | | `AESIMC` | yes | | | `AESKEYGENASSIST` | yes | | | `ANDB` | yes | AND integer | | `ANDL` | yes | AND integer | | `ANDNL` | yes | | | `ANDNPD` | yes | | | `ANDNPS` | yes | | | `ANDNQ` | yes | | | `ANDPD` | yes | | | `ANDPS` | yes | | | `ANDQ` | yes | AND integer | | `ANDW` | yes | AND integer | | `ARPL` | no | | | `BEXTRL` | yes | | | `BEXTRQ` | yes | | | `BLENDPD` | no | | | `BLENDPS` | no | | | `BLENDVPD` | no | | | `BLENDVPS` | no | | | `BLSIL` | yes | | | `BLSIQ` | yes | | | `BLSMSKL` | yes | | | `BLSMSKQ` | yes | | | `BLSRL` | yes | | | `BLSRQ` | yes | | | `BOUNDL` | no | | | `BOUNDW` | no | | | `BSFL` | yes | BSF bit operation | | `BSFQ` | yes | BSF bit operation | | `BSFW` | yes | BSF bit operation | | `BSRL` | yes | BSR bit operation | | `BSRQ` | yes | BSR bit operation | | `BSRW` | yes | BSR bit operation | | `BSWAPL` | yes | Byte-swap | | `BSWAPQ` | yes | Byte-swap | | `BTCL` | yes | Bit testTC | | `BTCQ` | yes | Bit testTC | | `BTCW` | yes | Bit testTC | | `BTL` | yes | Bit testT | | `BTQ` | yes | Bit testT | | `BTRL` | yes | Bit testTR | | `BTRQ` | yes | Bit testTR | | `BTRW` | yes | Bit testTR | | `BTSL` | yes | Bit testTS | | `BTSQ` | yes | Bit testTS | | `BTSW` | yes | Bit testTS | | `BTW` | yes | Bit testT | | `BYTE` | yes | | | `BZHIL` | yes | | | `BZHIQ` | yes | | | `CBW` | no | Sign-extend accumulator | | `CDQ` | no | Sign-extend accumulator | | `CDQE` | no | Sign-extend accumulator | | `CLAC` | no | | | `CLC` | no | | | `CLD` | yes | | | `CLDEMOTE` | no | | | `CLFLUSH` | no | | | `CLFLUSHOPT` | no | | | `CLI` | no | | | `CLTS` | no | | | `CLWB` | no | | | `CMC` | no | | | `CMOVLCC` | yes | | | `CMOVLCS` | yes | | | `CMOVLEQ` | yes | Conditional move | | `CMOVLGE` | yes | Conditional move | | `CMOVLGT` | yes | Conditional move | | `CMOVLHI` | yes | | | `CMOVLLE` | yes | Conditional move | | `CMOVLLS` | yes | | | `CMOVLLT` | yes | Conditional move | | `CMOVLMI` | yes | | | `CMOVLNE` | yes | Conditional move | | `CMOVLOC` | yes | | | `CMOVLOS` | yes | | | `CMOVLPC` | yes | | | `CMOVLPL` | yes | | | `CMOVLPS` | yes | | | `CMOVQCC` | yes | | | `CMOVQCS` | yes | | | `CMOVQEQ` | yes | Conditional move | | `CMOVQGE` | yes | Conditional move | | `CMOVQGT` | yes | Conditional move | | `CMOVQHI` | yes | | | `CMOVQLE` | yes | Conditional move | | `CMOVQLS` | yes | | | `CMOVQLT` | yes | Conditional move | | `CMOVQMI` | yes | | | `CMOVQNE` | yes | Conditional move | | `CMOVQOC` | yes | | | `CMOVQOS` | yes | | | `CMOVQPC` | yes | | | `CMOVQPL` | yes | | | `CMOVQPS` | yes | | | `CMOVWCC` | yes | | | `CMOVWCS` | yes | | | `CMOVWEQ` | yes | Conditional move | | `CMOVWGE` | yes | Conditional move | | `CMOVWGT` | yes | Conditional move | | `CMOVWHI` | yes | | | `CMOVWLE` | yes | Conditional move | | `CMOVWLS` | yes | | | `CMOVWLT` | yes | Conditional move | | `CMOVWMI` | yes | | | `CMOVWNE` | yes | Conditional move | | `CMOVWOC` | yes | | | `CMOVWOS` | yes | | | `CMOVWPC` | yes | | | `CMOVWPL` | yes | | | `CMOVWPS` | yes | | | `CMPB` | yes | Compare (subtract, flags only) | | `CMPL` | yes | Compare (subtract, flags only) | | `CMPPD` | no | | | `CMPPS` | no | | | `CMPQ` | yes | Compare (subtract, flags only) | | `CMPSB` | no | | | `CMPSD` | yes | | | `CMPSL` | no | | | `CMPSQ` | no | | | `CMPSS` | no | | | `CMPSW` | no | | | `CMPW` | yes | Compare (subtract, flags only) | | `CMPXCHG16B` | no | | | `CMPXCHG8B` | no | | | `CMPXCHGB` | yes | | | `CMPXCHGL` | yes | | | `CMPXCHGQ` | yes | | | `CMPXCHGW` | yes | | | `COMISD` | yes | | | `COMISS` | no | | | `CPUID` | yes | Serialising/system instruction | | `CQO` | no | Sign-extend accumulator | | `CRC32B` | yes | | | `CRC32L` | yes | | | `CRC32Q` | yes | | | `CRC32W` | yes | | | `CVTPD2PL` | no | | | `CVTPD2PS` | yes | | | `CVTPL2PD` | no | | | `CVTPL2PS` | no | | | `CVTPS2PD` | yes | | | `CVTPS2PL` | no | | | `CVTSD2SL` | yes | | | `CVTSD2SQ` | yes | | | `CVTSD2SS` | yes | | | `CVTSL2SD` | yes | Numeric conversion | | `CVTSL2SS` | no | Numeric conversion | | `CVTSQ2SD` | yes | Numeric conversion | | `CVTSQ2SS` | no | Numeric conversion | | `CVTSS2SD` | yes | | | `CVTSS2SL` | yes | | | `CVTSS2SQ` | yes | | | `CVTTPD2PL` | no | | | `CVTTPS2PL` | no | | | `CVTTSD2SL` | yes | Numeric conversion | | `CVTTSD2SQ` | yes | Numeric conversion | | `CVTTSS2SL` | yes | Numeric conversion | | `CVTTSS2SQ` | yes | | | `CWD` | no | | | `CWDE` | no | Sign-extend accumulator | | `DAA` | no | | | `DAS` | no | | | `DECB` | yes | Decrement | | `DECL` | yes | Decrement | | `DECQ` | yes | Decrement | | `DECW` | yes | Decrement | | `DIVB` | yes | Unsigned divide | | `DIVL` | yes | Unsigned divide | | `DIVPD` | yes | | | `DIVPS` | yes | | | `DIVQ` | yes | Unsigned divide | | `DIVSD` | yes | | | `DIVSS` | yes | | | `DIVW` | yes | Unsigned divide | | `DPPD` | no | | | `DPPS` | no | | | `EMMS` | no | | | `ENDBR64` | no | | | `ENTER` | no | | | `EXTRACTPS` | no | | | `F2XM1` | no | | | `FABS` | no | | | `FADDD` | no | | | `FADDDP` | no | | | `FADDF` | no | | | `FADDL` | no | | | `FADDW` | no | | | `FBLD` | no | | | `FBSTP` | no | | | `FCHS` | no | | | `FCLEX` | no | | | `FCMOVB` | no | | | `FCMOVBE` | no | | | `FCMOVCC` | no | | | `FCMOVCS` | no | | | `FCMOVE` | no | | | `FCMOVEQ` | no | | | `FCMOVHI` | no | | | `FCMOVLS` | no | | | `FCMOVNB` | no | | | `FCMOVNBE` | no | | | `FCMOVNE` | no | | | `FCMOVNU` | no | | | `FCMOVU` | no | | | `FCMOVUN` | no | | | `FCOMD` | no | | | `FCOMDP` | no | | | `FCOMDPP` | no | | | `FCOMF` | no | | | `FCOMFP` | no | | | `FCOMI` | no | | | `FCOMIP` | no | | | `FCOML` | no | | | `FCOMLP` | no | | | `FCOMW` | no | | | `FCOMWP` | no | | | `FCOS` | no | | | `FDECSTP` | no | | | `FDIVD` | no | | | `FDIVDP` | no | | | `FDIVF` | no | | | `FDIVL` | no | | | `FDIVRD` | no | | | `FDIVRDP` | no | | | `FDIVRF` | no | | | `FDIVRL` | no | | | `FDIVRW` | no | | | `FDIVW` | no | | | `FFREE` | no | | | `FINCSTP` | no | | | `FINIT` | no | | | `FLD1` | no | | | `FLDCW` | no | | | `FLDENV` | no | | | `FLDL2E` | no | | | `FLDL2T` | no | | | `FLDLG2` | no | | | `FLDLN2` | no | | | `FLDPI` | no | | | `FLDZ` | no | | | `FMOVB` | no | | | `FMOVBP` | no | | | `FMOVD` | yes | | | `FMOVDP` | no | | | `FMOVF` | no | | | `FMOVFP` | no | | | `FMOVL` | no | | | `FMOVLP` | no | | | `FMOVV` | no | | | `FMOVVP` | no | | | `FMOVW` | no | | | `FMOVWP` | no | | | `FMOVX` | no | | | `FMOVXP` | no | | | `FMULD` | no | | | `FMULDP` | no | | | `FMULF` | no | | | `FMULL` | no | | | `FMULW` | no | | | `FNOP` | no | | | `FPATAN` | no | | | `FPREM` | no | | | `FPREM1` | no | | | `FPTAN` | no | | | `FRNDINT` | no | | | `FRSTOR` | no | | | `FSAVE` | no | | | `FSCALE` | no | | | `FSIN` | no | | | `FSINCOS` | no | | | `FSQRT` | no | | | `FSTCW` | no | | | `FSTENV` | no | | | `FSTSW` | no | | | `FSUBD` | no | | | `FSUBDP` | no | | | `FSUBF` | no | | | `FSUBL` | no | | | `FSUBRD` | no | | | `FSUBRDP` | no | | | `FSUBRF` | no | | | `FSUBRL` | no | | | `FSUBRW` | no | | | `FSUBW` | no | | | `FTST` | no | | | `FUCOM` | no | | | `FUCOMI` | no | | | `FUCOMIP` | no | | | `FUCOMP` | no | | | `FUCOMPP` | no | | | `FXAM` | no | | | `FXCHD` | no | | | `FXRSTOR` | no | | | `FXRSTOR64` | no | | | `FXSAVE` | no | | | `FXSAVE64` | no | | | `FXTRACT` | no | | | `FYL2X` | no | | | `FYL2XP1` | no | | | `HADDPD` | no | | | `HADDPS` | no | | | `HLT` | no | Halt | | `HSUBPD` | no | | | `HSUBPS` | no | | | `ICEBP` | no | | | `IDIVB` | yes | Signed divide | | `IDIVL` | yes | Signed divide | | `IDIVQ` | yes | Signed divide | | `IDIVW` | yes | Signed divide | | `IMUL3L` | yes | Signed multiply by immediate | | `IMUL3Q` | yes | Signed multiply by immediate | | `IMUL3W` | yes | Signed multiply by immediate | | `IMULB` | yes | Signed multiply | | `IMULL` | yes | Signed multiply | | `IMULQ` | yes | Signed multiply | | `IMULW` | yes | Signed multiply | | `INB` | no | | | `INCB` | yes | Increment | | `INCL` | yes | Increment | | `INCQ` | yes | Increment | | `INCW` | yes | Increment | | `INL` | no | | | `INSB` | no | | | `INSERTPS` | no | | | `INSL` | no | | | `INSW` | no | | | `INT` | yes | Software interrupt | | `INTO` | no | | | `INVD` | no | | | `INVLPG` | no | | | `INVPCID` | no | | | `INW` | no | | | `IRETL` | no | | | `IRETQ` | no | | | `IRETW` | no | | | `JCC` | yes | Conditional jump | | `JCS` | yes | Conditional jump | | `JCXZL` | no | | | `JCXZQ` | no | | | `JCXZW` | no | | | `JEQ` | yes | Conditional jump | | `JGE` | yes | Conditional jump | | `JGT` | yes | Conditional jump | | `JHI` | yes | Conditional jump | | `JLE` | yes | Conditional jump | | `JLS` | yes | Conditional jump | | `JLT` | yes | Conditional jump | | `JMI` | yes | Conditional jump | | `JNE` | yes | Conditional jump | | `JOC` | yes | Conditional jump | | `JOS` | yes | Conditional jump | | `JPC` | yes | | | `JPL` | yes | Conditional jump | | `JPS` | yes | | | `KADDB` | yes | | | `KADDD` | yes | | | `KADDQ` | yes | | | `KADDW` | yes | | | `KANDB` | yes | AND masks | | `KANDD` | yes | AND masks | | `KANDNB` | yes | AND-NOT masks | | `KANDND` | yes | AND-NOT masks | | `KANDNQ` | yes | AND-NOT masks | | `KANDNW` | yes | AND-NOT masks | | `KANDQ` | yes | AND masks | | `KANDW` | yes | AND masks | | `KMOVB` | yes | Move mask register | | `KMOVD` | yes | Move mask register | | `KMOVQ` | yes | Move mask register | | `KMOVW` | yes | Move mask register | | `KNOTB` | yes | NOT mask | | `KNOTD` | yes | NOT mask | | `KNOTQ` | yes | NOT mask | | `KNOTW` | yes | NOT mask | | `KORB` | yes | OR masks | | `KORD` | yes | OR masks | | `KORQ` | yes | OR masks | | `KORTESTB` | yes | | | `KORTESTD` | yes | | | `KORTESTQ` | yes | | | `KORTESTW` | yes | | | `KORW` | yes | OR masks | | `KSHIFTLB` | yes | | | `KSHIFTLD` | yes | | | `KSHIFTLQ` | yes | | | `KSHIFTLW` | yes | | | `KSHIFTRB` | yes | | | `KSHIFTRD` | yes | | | `KSHIFTRQ` | yes | | | `KSHIFTRW` | yes | | | `KTESTB` | yes | Test mask registers | | `KTESTD` | yes | Test mask registers | | `KTESTQ` | yes | Test mask registers | | `KTESTW` | yes | Test mask registers | | `KUNPCKBW` | yes | | | `KUNPCKDQ` | yes | | | `KUNPCKWD` | yes | | | `KXNORB` | yes | | | `KXNORD` | yes | | | `KXNORQ` | yes | | | `KXNORW` | yes | | | `KXORB` | yes | XOR masks | | `KXORD` | yes | XOR masks | | `KXORQ` | yes | XOR masks | | `KXORW` | yes | XOR masks | | `LAHF` | no | | | `LARL` | no | | | `LARQ` | no | | | `LARW` | no | | | `LDDQU` | no | | | `LDMXCSR` | yes | | | `LEAL` | yes | Load effective address | | `LEAQ` | yes | Load effective address | | `LEAVEL` | no | | | `LEAVEQ` | no | | | `LEAVEW` | no | | | `LEAW` | yes | Load effective address | | `LFENCE` | yes | Serialising/system instruction | | `LFSL` | no | | | `LFSQ` | no | | | `LFSW` | no | | | `LGDT` | no | | | `LGSL` | no | | | `LGSQ` | no | | | `LGSW` | no | | | `LIDT` | no | | | `LLDT` | no | | | `LMSW` | no | | | `LOCK` | yes | | | `LODSB` | no | | | `LODSL` | no | | | `LODSQ` | no | | | `LODSW` | no | | | `LONG` | yes | | | `LOOP` | no | | | `LOOPEQ` | no | | | `LOOPNE` | no | | | `LSLL` | no | | | `LSLQ` | no | | | `LSLW` | no | | | `LSSL` | no | | | `LSSQ` | no | | | `LSSW` | no | | | `LTR` | no | | | `LZCNTL` | yes | LZCNT bit operation | | `LZCNTQ` | yes | LZCNT bit operation | | `LZCNTW` | yes | LZCNT bit operation | | `MASKMOVOU` | no | | | `MASKMOVQ` | no | | | `MAXPD` | yes | | | `MAXPS` | yes | | | `MAXSD` | yes | | | `MAXSS` | yes | | | `MFENCE` | yes | Serialising/system instruction | | `MINPD` | yes | | | `MINPS` | yes | | | `MINSD` | yes | | | `MINSS` | yes | | | `MONITOR` | no | | | `MOVAPD` | yes | SIMD move | | `MOVAPS` | yes | SIMD move | | `MOVB` | yes | Move B-width value | | `MOVBEL` | no | | | `MOVBEQ` | no | | | `MOVBEW` | no | | | `MOVBLSX` | yes | Sign/zero-extending move | | `MOVBLZX` | yes | Sign/zero-extending move | | `MOVBQSX` | yes | Sign/zero-extending move | | `MOVBQZX` | yes | | | `MOVBWSX` | yes | | | `MOVBWZX` | yes | | | `MOVDDUP` | no | | | `MOVHLPS` | no | | | `MOVHPD` | no | | | `MOVHPS` | no | | | `MOVL` | yes | Move L-width value | | `MOVLHPS` | no | | | `MOVLPD` | no | | | `MOVLPS` | no | | | `MOVLQSX` | yes | Sign/zero-extending move | | `MOVLQZX` | yes | | | `MOVMSKPD` | no | | | `MOVMSKPS` | no | | | `MOVNTDQA` | no | | | `MOVNTIL` | no | | | `MOVNTIQ` | no | | | `MOVNTO` | no | | | `MOVNTPD` | no | | | `MOVNTPS` | no | | | `MOVNTQ` | no | | | `MOVO` | yes | Move 16-byte aligned/unaligned vector | | `MOVOU` | yes | Move 16-byte aligned/unaligned vector | | `MOVQ` | yes | Move Q-width value | | `MOVQL` | no | Sign/zero-extending move | | `MOVQOZX` | no | | | `MOVSB` | yes | | | `MOVSD` | yes | SIMD move | | `MOVSHDUP` | no | | | `MOVSL` | yes | | | `MOVSLDUP` | no | | | `MOVSQ` | yes | | | `MOVSS` | yes | SIMD move | | `MOVSW` | yes | | | `MOVSWW` | no | | | `MOVUPD` | yes | SIMD move | | `MOVUPS` | yes | SIMD move | | `MOVW` | yes | Move W-width value | | `MOVWLSX` | yes | Sign/zero-extending move | | `MOVWLZX` | yes | Sign/zero-extending move | | `MOVWQSX` | yes | Sign/zero-extending move | | `MOVWQZX` | yes | | | `MOVZWW` | no | | | `MPSADBW` | no | | | `MULB` | yes | Unsigned multiply | | `MULL` | yes | Unsigned multiply | | `MULPD` | yes | | | `MULPS` | yes | | | `MULQ` | yes | Unsigned multiply | | `MULSD` | yes | | | `MULSS` | yes | | | `MULW` | yes | Unsigned multiply | | `MULXL` | yes | | | `MULXQ` | yes | | | `MWAIT` | no | | | `NEGB` | yes | Two's-complement negate | | `NEGL` | yes | Two's-complement negate | | `NEGQ` | yes | Two's-complement negate | | `NEGW` | yes | Two's-complement negate | | `NOPL` | no | | | `NOPW` | no | | | `NOTB` | yes | Bitwise complement | | `NOTL` | yes | Bitwise complement | | `NOTQ` | yes | Bitwise complement | | `NOTW` | yes | Bitwise complement | | `ORB` | yes | OR integer | | `ORL` | yes | OR integer | | `ORPD` | yes | | | `ORPS` | yes | | | `ORQ` | yes | OR integer | | `ORW` | yes | OR integer | | `OUTB` | no | | | `OUTL` | no | | | `OUTSB` | no | | | `OUTSL` | no | | | `OUTSW` | no | | | `OUTW` | no | | | `PABSB` | no | | | `PABSD` | no | | | `PABSW` | no | | | `PACKSSLW` | no | | | `PACKSSWB` | no | | | `PACKUSDW` | no | | | `PACKUSWB` | no | | | `PADDB` | yes | | | `PADDL` | yes | | | `PADDQ` | yes | | | `PADDSB` | no | | | `PADDSW` | no | | | `PADDUSB` | no | | | `PADDUSW` | no | | | `PADDW` | yes | | | `PALIGNR` | yes | | | `PAND` | yes | | | `PANDN` | yes | | | `PAUSE` | yes | Serialising/system instruction | | `PAVGB` | no | | | `PAVGW` | no | | | `PBLENDVB` | no | | | `PBLENDW` | yes | | | `PCLMULQDQ` | yes | | | `PCMPEQB` | yes | | | `PCMPEQL` | yes | | | `PCMPEQQ` | no | | | `PCMPEQW` | yes | | | `PCMPESTRI` | yes | | | `PCMPESTRM` | no | | | `PCMPGTB` | yes | | | `PCMPGTL` | no | | | `PCMPGTQ` | no | | | `PCMPGTW` | yes | | | `PCMPISTRI` | no | | | `PCMPISTRM` | no | | | `PDEPL` | yes | | | `PDEPQ` | yes | | | `PEXTL` | yes | | | `PEXTQ` | yes | | | `PEXTRB` | yes | | | `PEXTRD` | yes | | | `PEXTRQ` | yes | | | `PEXTRW` | yes | | | `PHADDD` | no | | | `PHADDSW` | no | | | `PHADDW` | no | | | `PHMINPOSUW` | no | | | `PHSUBD` | no | | | `PHSUBSW` | no | | | `PHSUBW` | no | | | `PINSRB` | yes | | | `PINSRD` | yes | | | `PINSRQ` | yes | | | `PINSRW` | yes | | | `PMADDUBSW` | no | | | `PMADDWL` | no | | | `PMAXSB` | no | | | `PMAXSD` | no | | | `PMAXSW` | no | | | `PMAXUB` | no | | | `PMAXUD` | no | | | `PMAXUW` | no | | | `PMINSB` | no | | | `PMINSD` | no | | | `PMINSW` | no | | | `PMINUB` | no | | | `PMINUD` | no | | | `PMINUW` | no | | | `PMOVMSKB` | yes | | | `PMOVSXBD` | no | | | `PMOVSXBQ` | no | | | `PMOVSXBW` | no | | | `PMOVSXDQ` | no | | | `PMOVSXWD` | no | | | `PMOVSXWQ` | no | | | `PMOVZXBD` | no | | | `PMOVZXBQ` | no | | | `PMOVZXBW` | no | | | `PMOVZXDQ` | no | | | `PMOVZXWD` | no | | | `PMOVZXWQ` | no | | | `PMULDQ` | no | | | `PMULHRSW` | no | | | `PMULHUW` | no | | | `PMULHW` | no | | | `PMULLD` | no | | | `PMULLW` | no | | | `PMULULQ` | no | | | `POPAL` | no | | | `POPAW` | no | | | `POPCNTL` | yes | POPCNT bit operation | | `POPCNTQ` | yes | POPCNT bit operation | | `POPCNTW` | yes | POPCNT bit operation | | `POPFL` | no | | | `POPFQ` | yes | | | `POPFW` | no | | | `POPL` | yes | | | `POPQ` | yes | | | `POPW` | yes | | | `POR` | yes | | | `PREFETCHNTA` | yes | | | `PREFETCHT0` | yes | | | `PREFETCHT1` | yes | | | `PREFETCHT2` | yes | | | `PSADBW` | no | | | `PSHUFB` | yes | | | `PSHUFD` | yes | Packed/scalar floating point | | `PSHUFHW` | yes | Packed/scalar floating point | | `PSHUFL` | yes | | | `PSHUFLW` | yes | Packed/scalar floating point | | `PSHUFW` | no | | | `PSIGNB` | no | | | `PSIGND` | no | | | `PSIGNW` | no | | | `PSLLL` | yes | | | `PSLLO` | no | | | `PSLLQ` | yes | | | `PSLLW` | yes | | | `PSRAL` | yes | | | `PSRAW` | yes | | | `PSRLL` | yes | | | `PSRLO` | no | | | `PSRLQ` | yes | | | `PSRLW` | yes | | | `PSUBB` | yes | | | `PSUBL` | yes | | | `PSUBQ` | yes | | | `PSUBSB` | no | | | `PSUBSW` | no | | | `PSUBUSB` | no | | | `PSUBUSW` | no | | | `PSUBW` | yes | | | `PTEST` | no | | | `PUNPCKHBW` | no | | | `PUNPCKHLQ` | no | | | `PUNPCKHQDQ` | no | | | `PUNPCKHWL` | no | | | `PUNPCKLBW` | yes | | | `PUNPCKLLQ` | no | | | `PUNPCKLQDQ` | no | | | `PUNPCKLWL` | no | | | `PUSHAL` | no | | | `PUSHAW` | no | | | `PUSHFL` | no | | | `PUSHFQ` | yes | | | `PUSHFW` | no | | | `PUSHL` | yes | | | `PUSHQ` | yes | | | `PUSHW` | yes | | | `PXOR` | yes | | | `QUAD` | yes | | | `RCLB` | yes | RCL shift/rotate | | `RCLL` | yes | RCL shift/rotate | | `RCLQ` | yes | RCL shift/rotate | | `RCLW` | yes | RCL shift/rotate | | `RCPPS` | no | | | `RCPSS` | no | | | `RCRB` | yes | RCR shift/rotate | | `RCRL` | yes | RCR shift/rotate | | `RCRQ` | yes | RCR shift/rotate | | `RCRW` | yes | RCR shift/rotate | | `RDFSBASEL` | no | | | `RDFSBASEQ` | no | | | `RDGSBASEL` | no | | | `RDGSBASEQ` | no | | | `RDMSR` | no | | | `RDPID` | no | | | `RDPKRU` | no | | | `RDPMC` | no | | | `RDRANDL` | no | | | `RDRANDQ` | no | | | `RDRANDW` | no | | | `RDSEEDL` | no | | | `RDSEEDQ` | no | | | `RDSEEDW` | no | | | `RDTSC` | yes | Serialising/system instruction | | `RDTSCP` | yes | | | `REP` | yes | | | `REPN` | yes | | | `RETFL` | no | | | `RETFQ` | no | | | `RETFW` | no | | | `ROLB` | yes | ROL shift/rotate | | `ROLL` | yes | ROL shift/rotate | | `ROLQ` | yes | ROL shift/rotate | | `ROLW` | yes | ROL shift/rotate | | `RORB` | yes | ROR shift/rotate | | `RORL` | yes | ROR shift/rotate | | `RORQ` | yes | ROR shift/rotate | | `RORW` | yes | ROR shift/rotate | | `RORXL` | yes | | | `RORXQ` | yes | | | `ROUNDPD` | no | | | `ROUNDPS` | no | | | `ROUNDSD` | no | | | `ROUNDSS` | no | | | `RSM` | no | | | `RSQRTPS` | no | | | `RSQRTSS` | no | | | `SAHF` | no | | | `SALB` | yes | SAL shift/rotate | | `SALL` | yes | SAL shift/rotate | | `SALQ` | yes | SAL shift/rotate | | `SALW` | yes | SAL shift/rotate | | `SARB` | yes | SAR shift/rotate | | `SARL` | yes | SAR shift/rotate | | `SARQ` | yes | SAR shift/rotate | | `SARW` | yes | SAR shift/rotate | | `SARXL` | yes | | | `SARXQ` | yes | | | `SBBB` | yes | SBB integer | | `SBBL` | yes | SBB integer | | `SBBQ` | yes | SBB integer | | `SBBW` | yes | SBB integer | | `SCASB` | no | | | `SCASL` | no | | | `SCASQ` | no | | | `SCASW` | no | | | `SETCC` | yes | Set byte on condition | | `SETCS` | yes | Set byte on condition | | `SETEQ` | yes | Set byte on condition | | `SETGE` | yes | Set byte on condition | | `SETGT` | yes | Set byte on condition | | `SETHI` | yes | Set byte on condition | | `SETLE` | yes | Set byte on condition | | `SETLS` | yes | Set byte on condition | | `SETLT` | yes | Set byte on condition | | `SETMI` | yes | Set byte on condition | | `SETNE` | yes | Set byte on condition | | `SETOC` | yes | | | `SETOS` | yes | | | `SETPC` | yes | | | `SETPL` | yes | Set byte on condition | | `SETPS` | yes | | | `SFENCE` | yes | Serialising/system instruction | | `SGDT` | no | | | `SHA1MSG1` | yes | | | `SHA1MSG2` | yes | | | `SHA1NEXTE` | yes | | | `SHA1RNDS4` | yes | | | `SHA256MSG1` | yes | | | `SHA256MSG2` | yes | | | `SHA256RNDS2` | yes | | | `SHLB` | yes | SHL shift/rotate | | `SHLL` | yes | SHL shift/rotate | | `SHLQ` | yes | SHL shift/rotate | | `SHLW` | yes | SHL shift/rotate | | `SHLXL` | yes | | | `SHLXQ` | yes | | | `SHRB` | yes | SHR shift/rotate | | `SHRL` | yes | SHR shift/rotate | | `SHRQ` | yes | SHR shift/rotate | | `SHRW` | yes | SHR shift/rotate | | `SHRXL` | yes | | | `SHRXQ` | yes | | | `SHUFPD` | yes | Packed/scalar floating point | | `SHUFPS` | yes | Packed/scalar floating point | | `SIDT` | no | | | `SLDTL` | no | | | `SLDTQ` | no | | | `SLDTW` | no | | | `SMSWL` | no | | | `SMSWQ` | no | | | `SMSWW` | no | | | `SQRTPD` | no | | | `SQRTPS` | no | | | `SQRTSD` | yes | | | `SQRTSS` | no | | | `STAC` | no | | | `STC` | no | | | `STD` | yes | | | `STI` | no | | | `STMXCSR` | yes | | | `STOSB` | yes | | | `STOSL` | yes | | | `STOSQ` | yes | | | `STOSW` | yes | | | `STRL` | no | | | `STRQ` | no | | | `STRW` | no | | | `SUBB` | yes | SUB integer | | `SUBL` | yes | SUB integer | | `SUBPD` | yes | | | `SUBPS` | yes | | | `SUBQ` | yes | SUB integer | | `SUBSD` | yes | | | `SUBSS` | yes | | | `SUBW` | yes | SUB integer | | `SWAPGS` | no | | | `SYSCALL` | yes | System call | | `SYSENTER` | no | | | `SYSENTER64` | no | | | `SYSEXIT` | no | | | `SYSEXIT64` | no | | | `SYSRET` | no | | | `TESTB` | yes | AND, flags only | | `TESTL` | yes | AND, flags only | | `TESTQ` | yes | AND, flags only | | `TESTW` | yes | AND, flags only | | `TPAUSE` | no | | | `TZCNTL` | yes | TZCNT bit operation | | `TZCNTQ` | yes | TZCNT bit operation | | `TZCNTW` | yes | TZCNT bit operation | | `UCOMISD` | no | | | `UCOMISS` | no | | | `UD1` | no | | | `UD2` | no | Undefined instruction (trap) | | `UMONITOR` | no | | | `UMWAIT` | no | | | `UNPCKHPD` | yes | Packed/scalar floating point | | `UNPCKHPS` | yes | Packed/scalar floating point | | `UNPCKLPD` | yes | Packed/scalar floating point | | `UNPCKLPS` | yes | Packed/scalar floating point | | `V4FMADDPS` | yes | | | `V4FMADDSS` | yes | | | `V4FNMADDPS` | yes | | | `V4FNMADDSS` | yes | | | `VADDPD` | yes | Packed/scalar floating point | | `VADDPS` | yes | Packed/scalar floating point | | `VADDSD` | yes | Packed/scalar floating point | | `VADDSS` | yes | Packed/scalar floating point | | `VADDSUBPD` | no | | | `VADDSUBPS` | no | | | `VAESDEC` | yes | | | `VAESDECLAST` | yes | | | `VAESENC` | yes | | | `VAESENCLAST` | yes | | | `VAESIMC` | no | | | `VAESKEYGENASSIST` | no | | | `VALIGND` | yes | Shuffle / permute / broadcast | | `VALIGNQ` | yes | Shuffle / permute / broadcast | | `VANDNPD` | yes | Packed/scalar floating point | | `VANDNPS` | yes | Packed/scalar floating point | | `VANDPD` | yes | Packed/scalar floating point | | `VANDPS` | yes | Packed/scalar floating point | | `VBLENDMPD` | yes | | | `VBLENDMPS` | yes | | | `VBLENDPD` | no | | | `VBLENDPS` | no | | | `VBLENDVPD` | no | Shuffle / permute / broadcast | | `VBLENDVPS` | no | Shuffle / permute / broadcast | | `VBROADCASTF128` | no | | | `VBROADCASTF32X2` | yes | | | `VBROADCASTF32X4` | yes | | | `VBROADCASTF32X8` | yes | | | `VBROADCASTF64X2` | yes | | | `VBROADCASTF64X4` | yes | | | `VBROADCASTI128` | yes | Shuffle / permute / broadcast | | `VBROADCASTI32X2` | yes | | | `VBROADCASTI32X4` | yes | Shuffle / permute / broadcast | | `VBROADCASTI32X8` | yes | | | `VBROADCASTI64X2` | yes | | | `VBROADCASTI64X4` | yes | | | `VBROADCASTSD` | yes | Shuffle / permute / broadcast | | `VBROADCASTSS` | yes | Shuffle / permute / broadcast | | `VCMPPD` | yes | Packed/scalar floating point | | `VCMPPS` | yes | Packed/scalar floating point | | `VCMPSD` | yes | Packed/scalar floating point | | `VCMPSS` | yes | Packed/scalar floating point | | `VCOMISD` | yes | | | `VCOMISS` | yes | | | `VCOMPRESSPD` | yes | | | `VCOMPRESSPS` | yes | | | `VCVTDQ2PD` | yes | Numeric conversion | | `VCVTDQ2PS` | yes | Numeric conversion | | `VCVTPD2DQ` | yes | Numeric conversion | | `VCVTPD2DQX` | yes | | | `VCVTPD2DQY` | yes | | | `VCVTPD2PS` | yes | Numeric conversion | | `VCVTPD2PSX` | yes | | | `VCVTPD2PSY` | yes | | | `VCVTPD2QQ` | yes | | | `VCVTPD2UDQ` | yes | | | `VCVTPD2UDQX` | yes | | | `VCVTPD2UDQY` | yes | | | `VCVTPD2UQQ` | yes | | | `VCVTPH2PS` | yes | | | `VCVTPS2DQ` | yes | Numeric conversion | | `VCVTPS2PD` | yes | Numeric conversion | | `VCVTPS2PH` | yes | | | `VCVTPS2QQ` | yes | | | `VCVTPS2UDQ` | yes | | | `VCVTPS2UQQ` | yes | | | `VCVTQQ2PD` | yes | Numeric conversion | | `VCVTQQ2PS` | yes | Numeric conversion | | `VCVTQQ2PSX` | yes | | | `VCVTQQ2PSY` | yes | | | `VCVTSD2SI` | yes | Numeric conversion | | `VCVTSD2SIQ` | yes | | | `VCVTSD2SS` | yes | Numeric conversion | | `VCVTSD2USI` | no | | | `VCVTSD2USIL` | yes | | | `VCVTSD2USIQ` | yes | | | `VCVTSI2SDL` | yes | | | `VCVTSI2SDQ` | yes | | | `VCVTSI2SSL` | yes | | | `VCVTSI2SSQ` | yes | | | `VCVTSS2SD` | yes | Numeric conversion | | `VCVTSS2SI` | yes | Numeric conversion | | `VCVTSS2SIQ` | yes | | | `VCVTSS2USI` | no | | | `VCVTSS2USIL` | yes | | | `VCVTSS2USIQ` | yes | | | `VCVTTPD2DQ` | yes | Numeric conversion | | `VCVTTPD2DQX` | yes | | | `VCVTTPD2DQY` | yes | | | `VCVTTPD2QQ` | yes | | | `VCVTTPD2UDQ` | yes | | | `VCVTTPD2UDQX` | yes | | | `VCVTTPD2UDQY` | yes | | | `VCVTTPD2UQQ` | yes | | | `VCVTTPS2DQ` | yes | Numeric conversion | | `VCVTTPS2QQ` | yes | | | `VCVTTPS2UDQ` | yes | | | `VCVTTPS2UQQ` | yes | | | `VCVTTSD2SI` | yes | | | `VCVTTSD2SIQ` | yes | | | `VCVTTSD2USI` | no | | | `VCVTTSD2USIL` | yes | | | `VCVTTSD2USIQ` | yes | | | `VCVTTSS2SI` | yes | | | `VCVTTSS2SIQ` | yes | | | `VCVTTSS2USI` | no | | | `VCVTTSS2USIL` | yes | | | `VCVTTSS2USIQ` | yes | | | `VCVTUDQ2PD` | yes | | | `VCVTUDQ2PS` | yes | | | `VCVTUQQ2PD` | yes | Numeric conversion | | `VCVTUQQ2PS` | yes | Numeric conversion | | `VCVTUQQ2PSX` | yes | | | `VCVTUQQ2PSY` | yes | | | `VCVTUSI2SD` | no | | | `VCVTUSI2SDL` | yes | | | `VCVTUSI2SDQ` | yes | | | `VCVTUSI2SS` | no | | | `VCVTUSI2SSL` | yes | | | `VCVTUSI2SSQ` | yes | | | `VDBPSADBW` | yes | | | `VDIVPD` | yes | Packed/scalar floating point | | `VDIVPS` | yes | Packed/scalar floating point | | `VDIVSD` | yes | Packed/scalar floating point | | `VDIVSS` | yes | Packed/scalar floating point | | `VDPPD` | no | | | `VDPPS` | no | | | `VERR` | no | | | `VERW` | no | | | `VEXP2PD` | yes | | | `VEXP2PS` | yes | | | `VEXPANDPD` | yes | | | `VEXPANDPS` | yes | | | `VEXTRACTF128` | yes | Shuffle / permute / broadcast | | `VEXTRACTF32X4` | yes | Shuffle / permute / broadcast | | `VEXTRACTF32X8` | yes | | | `VEXTRACTF64X2` | yes | | | `VEXTRACTF64X4` | yes | Shuffle / permute / broadcast | | `VEXTRACTI128` | yes | Shuffle / permute / broadcast | | `VEXTRACTI32X4` | yes | Shuffle / permute / broadcast | | `VEXTRACTI32X8` | yes | Shuffle / permute / broadcast | | `VEXTRACTI64X2` | yes | Shuffle / permute / broadcast | | `VEXTRACTI64X4` | yes | Shuffle / permute / broadcast | | `VEXTRACTPS` | no | | | `VFIXUPIMMPD` | yes | | | `VFIXUPIMMPS` | yes | | | `VFIXUPIMMSD` | yes | | | `VFIXUPIMMSS` | yes | | | `VFMADD132PD` | yes | Fused multiply-add | | `VFMADD132PS` | yes | Fused multiply-add | | `VFMADD132SD` | yes | Fused multiply-add | | `VFMADD132SS` | yes | Fused multiply-add | | `VFMADD213PD` | yes | Fused multiply-add | | `VFMADD213PS` | yes | Fused multiply-add | | `VFMADD213SD` | yes | Fused multiply-add | | `VFMADD213SS` | yes | Fused multiply-add | | `VFMADD231PD` | yes | Fused multiply-add | | `VFMADD231PS` | yes | Fused multiply-add | | `VFMADD231SD` | yes | Fused multiply-add | | `VFMADD231SS` | yes | Fused multiply-add | | `VFMADDSUB132PD` | yes | | | `VFMADDSUB132PS` | yes | | | `VFMADDSUB213PD` | yes | | | `VFMADDSUB213PS` | yes | | | `VFMADDSUB231PD` | yes | | | `VFMADDSUB231PS` | yes | | | `VFMSUB132PD` | yes | Fused multiply-subtract | | `VFMSUB132PS` | yes | Fused multiply-subtract | | `VFMSUB132SD` | yes | Fused multiply-subtract | | `VFMSUB132SS` | yes | Fused multiply-subtract | | `VFMSUB213PD` | yes | Fused multiply-subtract | | `VFMSUB213PS` | yes | Fused multiply-subtract | | `VFMSUB213SD` | yes | Fused multiply-subtract | | `VFMSUB213SS` | yes | Fused multiply-subtract | | `VFMSUB231PD` | yes | Fused multiply-subtract | | `VFMSUB231PS` | yes | Fused multiply-subtract | | `VFMSUB231SD` | yes | Fused multiply-subtract | | `VFMSUB231SS` | yes | Fused multiply-subtract | | `VFMSUBADD132PD` | yes | | | `VFMSUBADD132PS` | yes | | | `VFMSUBADD213PD` | yes | | | `VFMSUBADD213PS` | yes | | | `VFMSUBADD231PD` | yes | | | `VFMSUBADD231PS` | yes | | | `VFNMADD132PD` | yes | Fused negated multiply-add | | `VFNMADD132PS` | yes | Fused negated multiply-add | | `VFNMADD132SD` | yes | Fused negated multiply-add | | `VFNMADD132SS` | yes | Fused negated multiply-add | | `VFNMADD213PD` | yes | Fused negated multiply-add | | `VFNMADD213PS` | yes | Fused negated multiply-add | | `VFNMADD213SD` | yes | Fused negated multiply-add | | `VFNMADD213SS` | yes | Fused negated multiply-add | | `VFNMADD231PD` | yes | Fused negated multiply-add | | `VFNMADD231PS` | yes | Fused negated multiply-add | | `VFNMADD231SD` | yes | Fused negated multiply-add | | `VFNMADD231SS` | yes | Fused negated multiply-add | | `VFNMSUB132PD` | yes | Fused negated multiply-subtract | | `VFNMSUB132PS` | yes | Fused negated multiply-subtract | | `VFNMSUB132SD` | yes | Fused negated multiply-subtract | | `VFNMSUB132SS` | yes | Fused negated multiply-subtract | | `VFNMSUB213PD` | yes | Fused negated multiply-subtract | | `VFNMSUB213PS` | yes | Fused negated multiply-subtract | | `VFNMSUB213SD` | yes | Fused negated multiply-subtract | | `VFNMSUB213SS` | yes | Fused negated multiply-subtract | | `VFNMSUB231PD` | yes | Fused negated multiply-subtract | | `VFNMSUB231PS` | yes | Fused negated multiply-subtract | | `VFNMSUB231SD` | yes | Fused negated multiply-subtract | | `VFNMSUB231SS` | yes | Fused negated multiply-subtract | | `VFPCLASSPD` | no | | | `VFPCLASSPDX` | yes | | | `VFPCLASSPDY` | yes | | | `VFPCLASSPDZ` | yes | | | `VFPCLASSPS` | no | | | `VFPCLASSPSX` | yes | | | `VFPCLASSPSY` | yes | | | `VFPCLASSPSZ` | yes | | | `VFPCLASSSD` | yes | | | `VFPCLASSSS` | yes | | | `VGATHERDPD` | yes | | | `VGATHERDPS` | yes | | | `VGATHERPF0DPD` | no | | | `VGATHERPF0DPS` | no | | | `VGATHERPF0QPD` | no | | | `VGATHERPF0QPS` | no | | | `VGATHERPF1DPD` | no | | | `VGATHERPF1DPS` | no | | | `VGATHERPF1QPD` | no | | | `VGATHERPF1QPS` | no | | | `VGATHERQPD` | yes | | | `VGATHERQPS` | yes | | | `VGETEXPPD` | yes | | | `VGETEXPPS` | yes | | | `VGETEXPSD` | yes | | | `VGETEXPSS` | yes | | | `VGETMANTPD` | yes | | | `VGETMANTPS` | yes | | | `VGETMANTSD` | yes | | | `VGETMANTSS` | yes | | | `VGF2P8AFFINEINVQB` | yes | | | `VGF2P8AFFINEQB` | yes | | | `VGF2P8MULB` | yes | | | `VHADDPD` | no | | | `VHADDPS` | no | | | `VHSUBPD` | no | | | `VHSUBPS` | no | | | `VINSERTF128` | no | Shuffle / permute / broadcast | | `VINSERTF32X4` | yes | Shuffle / permute / broadcast | | `VINSERTF32X8` | yes | | | `VINSERTF64X2` | yes | | | `VINSERTF64X4` | yes | Shuffle / permute / broadcast | | `VINSERTI128` | yes | Shuffle / permute / broadcast | | `VINSERTI32X4` | yes | Shuffle / permute / broadcast | | `VINSERTI32X8` | yes | | | `VINSERTI64X2` | yes | | | `VINSERTI64X4` | yes | Shuffle / permute / broadcast | | `VINSERTPS` | no | | | `VLDDQU` | no | | | `VLDMXCSR` | no | | | `VMASKMOVDQU` | no | | | `VMASKMOVPD` | no | | | `VMASKMOVPS` | no | | | `VMAXPD` | yes | Packed/scalar floating point | | `VMAXPS` | yes | Packed/scalar floating point | | `VMAXSD` | yes | Packed/scalar floating point | | `VMAXSS` | yes | Packed/scalar floating point | | `VMINPD` | yes | Packed/scalar floating point | | `VMINPS` | yes | Packed/scalar floating point | | `VMINSD` | yes | Packed/scalar floating point | | `VMINSS` | yes | Packed/scalar floating point | | `VMOVAPD` | yes | SIMD move | | `VMOVAPS` | yes | SIMD move | | `VMOVD` | yes | SIMD move | | `VMOVDDUP` | yes | | | `VMOVDQA` | yes | SIMD move | | `VMOVDQA32` | yes | SIMD move | | `VMOVDQA64` | yes | SIMD move | | `VMOVDQU` | yes | SIMD move | | `VMOVDQU16` | yes | | | `VMOVDQU32` | yes | SIMD move | | `VMOVDQU64` | yes | SIMD move | | `VMOVDQU8` | yes | | | `VMOVHLPS` | no | | | `VMOVHPD` | no | | | `VMOVHPS` | yes | | | `VMOVLHPS` | yes | | | `VMOVLPD` | no | | | `VMOVLPS` | no | | | `VMOVMSKPD` | no | Packed extend / truncate / mask | | `VMOVMSKPS` | yes | Packed extend / truncate / mask | | `VMOVNTDQ` | yes | | | `VMOVNTDQA` | yes | | | `VMOVNTPD` | yes | | | `VMOVNTPS` | yes | | | `VMOVQ` | yes | SIMD move | | `VMOVSD` | yes | SIMD move | | `VMOVSHDUP` | yes | | | `VMOVSLDUP` | yes | | | `VMOVSS` | yes | SIMD move | | `VMOVUPD` | yes | SIMD move | | `VMOVUPS` | yes | SIMD move | | `VMPSADBW` | no | | | `VMULPD` | yes | Packed/scalar floating point | | `VMULPS` | yes | Packed/scalar floating point | | `VMULSD` | yes | Packed/scalar floating point | | `VMULSS` | yes | Packed/scalar floating point | | `VORPD` | yes | Packed/scalar floating point | | `VORPS` | yes | Packed/scalar floating point | | `VP4DPWSSD` | yes | | | `VP4DPWSSDS` | yes | | | `VPABSB` | yes | Packed integer SIMD | | `VPABSD` | yes | Packed integer SIMD | | `VPABSQ` | yes | Packed integer SIMD | | `VPABSW` | yes | Packed integer SIMD | | `VPACKSSDW` | yes | Packed integer SIMD | | `VPACKSSWB` | yes | Packed integer SIMD | | `VPACKUSDW` | yes | Packed integer SIMD | | `VPACKUSWB` | yes | Packed integer SIMD | | `VPADDB` | yes | Packed integer SIMD | | `VPADDD` | yes | Packed integer SIMD | | `VPADDQ` | yes | Packed integer SIMD | | `VPADDSB` | yes | | | `VPADDSW` | yes | | | `VPADDUSB` | yes | | | `VPADDUSW` | yes | | | `VPADDW` | yes | Packed integer SIMD | | `VPALIGNR` | yes | | | `VPAND` | yes | Packed integer SIMD | | `VPANDD` | yes | Packed integer SIMD | | `VPANDN` | yes | Packed integer SIMD | | `VPANDND` | yes | Packed integer SIMD | | `VPANDNQ` | yes | | | `VPANDQ` | yes | | | `VPAVGB` | yes | Packed integer SIMD | | `VPAVGW` | yes | Packed integer SIMD | | `VPBLENDD` | yes | Shuffle / permute / broadcast | | `VPBLENDMB` | yes | | | `VPBLENDMD` | yes | | | `VPBLENDMQ` | yes | | | `VPBLENDMW` | yes | | | `VPBLENDVB` | no | | | `VPBLENDW` | no | Shuffle / permute / broadcast | | `VPBROADCASTB` | yes | Shuffle / permute / broadcast | | `VPBROADCASTD` | yes | Shuffle / permute / broadcast | | `VPBROADCASTMB2Q` | yes | | | `VPBROADCASTMW2D` | yes | | | `VPBROADCASTQ` | yes | Shuffle / permute / broadcast | | `VPBROADCASTW` | yes | Shuffle / permute / broadcast | | `VPCLMULQDQ` | yes | | | `VPCMPB` | yes | Packed compare | | `VPCMPD` | yes | Packed compare | | `VPCMPEQB` | yes | Packed compare | | `VPCMPEQD` | yes | Packed compare | | `VPCMPEQQ` | yes | Packed compare | | `VPCMPEQW` | yes | Packed compare | | `VPCMPESTRI` | no | | | `VPCMPESTRM` | no | | | `VPCMPGTB` | yes | Packed compare | | `VPCMPGTD` | yes | Packed compare | | `VPCMPGTQ` | yes | Packed compare | | `VPCMPGTW` | yes | Packed compare | | `VPCMPISTRI` | no | | | `VPCMPISTRM` | no | | | `VPCMPQ` | yes | Packed compare | | `VPCMPUB` | yes | | | `VPCMPUD` | yes | | | `VPCMPUQ` | yes | | | `VPCMPUW` | yes | | | `VPCMPW` | yes | Packed compare | | `VPCOMPRESSB` | yes | | | `VPCOMPRESSD` | yes | | | `VPCOMPRESSQ` | yes | | | `VPCOMPRESSW` | yes | | | `VPCONFLICTD` | yes | | | `VPCONFLICTQ` | yes | | | `VPDPBUSD` | yes | | | `VPDPBUSDS` | yes | | | `VPDPWSSD` | yes | | | `VPDPWSSDS` | yes | | | `VPERM2F128` | yes | Shuffle / permute / broadcast | | `VPERM2I128` | yes | Shuffle / permute / broadcast | | `VPERMB` | yes | | | `VPERMD` | yes | Shuffle / permute / broadcast | | `VPERMI2B` | yes | | | `VPERMI2D` | yes | | | `VPERMI2PD` | yes | | | `VPERMI2PS` | yes | | | `VPERMI2Q` | yes | | | `VPERMI2W` | yes | | | `VPERMILPD` | yes | | | `VPERMILPS` | yes | | | `VPERMPD` | yes | | | `VPERMPS` | yes | Shuffle / permute / broadcast | | `VPERMQ` | yes | Shuffle / permute / broadcast | | `VPERMT2B` | yes | | | `VPERMT2D` | yes | | | `VPERMT2PD` | yes | | | `VPERMT2PS` | yes | | | `VPERMT2Q` | yes | | | `VPERMT2W` | yes | | | `VPERMW` | yes | | | `VPEXPANDB` | yes | | | `VPEXPANDD` | yes | | | `VPEXPANDQ` | yes | | | `VPEXPANDW` | yes | | | `VPEXTRB` | yes | | | `VPEXTRD` | yes | | | `VPEXTRQ` | yes | | | `VPEXTRW` | yes | | | `VPGATHERDD` | yes | | | `VPGATHERDQ` | yes | | | `VPGATHERQD` | yes | | | `VPGATHERQQ` | yes | | | `VPHADDD` | no | | | `VPHADDSW` | no | | | `VPHADDW` | no | | | `VPHMINPOSUW` | no | | | `VPHSUBD` | no | | | `VPHSUBSW` | no | | | `VPHSUBW` | no | | | `VPINSRB` | no | | | `VPINSRD` | yes | | | `VPINSRQ` | yes | | | `VPINSRW` | no | | | `VPLZCNTD` | yes | | | `VPLZCNTQ` | yes | | | `VPMADD52HUQ` | yes | | | `VPMADD52LUQ` | yes | | | `VPMADDUBSW` | yes | | | `VPMADDWD` | yes | | | `VPMASKMOVD` | no | | | `VPMASKMOVQ` | no | | | `VPMAXSB` | yes | Packed integer SIMD | | `VPMAXSD` | yes | Packed integer SIMD | | `VPMAXSQ` | yes | | | `VPMAXSW` | yes | Packed integer SIMD | | `VPMAXUB` | yes | | | `VPMAXUD` | yes | | | `VPMAXUQ` | yes | | | `VPMAXUW` | yes | | | `VPMINSB` | yes | Packed integer SIMD | | `VPMINSD` | yes | Packed integer SIMD | | `VPMINSQ` | yes | | | `VPMINSW` | yes | Packed integer SIMD | | `VPMINUB` | yes | | | `VPMINUD` | yes | | | `VPMINUQ` | yes | | | `VPMINUW` | yes | | | `VPMOVB2M` | yes | | | `VPMOVD2M` | yes | | | `VPMOVDB` | yes | Packed extend / truncate / mask | | `VPMOVDW` | yes | Packed extend / truncate / mask | | `VPMOVM2B` | yes | | | `VPMOVM2D` | yes | | | `VPMOVM2Q` | yes | | | `VPMOVM2W` | yes | | | `VPMOVMSKB` | yes | Packed extend / truncate / mask | | `VPMOVQ2M` | yes | | | `VPMOVQB` | yes | Packed extend / truncate / mask | | `VPMOVQD` | yes | Packed extend / truncate / mask | | `VPMOVQW` | yes | Packed extend / truncate / mask | | `VPMOVSDB` | yes | | | `VPMOVSDW` | yes | | | `VPMOVSQB` | yes | | | `VPMOVSQD` | yes | | | `VPMOVSQW` | yes | | | `VPMOVSWB` | yes | | | `VPMOVSXBD` | yes | Packed extend / truncate / mask | | `VPMOVSXBQ` | yes | Packed extend / truncate / mask | | `VPMOVSXBW` | yes | Packed extend / truncate / mask | | `VPMOVSXDQ` | yes | Packed extend / truncate / mask | | `VPMOVSXWD` | yes | Packed extend / truncate / mask | | `VPMOVSXWQ` | yes | Packed extend / truncate / mask | | `VPMOVUSDB` | yes | | | `VPMOVUSDW` | yes | | | `VPMOVUSQB` | yes | | | `VPMOVUSQD` | yes | | | `VPMOVUSQW` | yes | | | `VPMOVUSWB` | yes | | | `VPMOVW2M` | yes | | | `VPMOVWB` | yes | Packed extend / truncate / mask | | `VPMOVZXBD` | yes | Packed extend / truncate / mask | | `VPMOVZXBQ` | yes | Packed extend / truncate / mask | | `VPMOVZXBW` | yes | Packed extend / truncate / mask | | `VPMOVZXDQ` | yes | Packed extend / truncate / mask | | `VPMOVZXWD` | yes | Packed extend / truncate / mask | | `VPMOVZXWQ` | yes | Packed extend / truncate / mask | | `VPMULDQ` | yes | Packed integer SIMD | | `VPMULHRSW` | yes | | | `VPMULHUW` | yes | Packed integer SIMD | | `VPMULHW` | yes | Packed integer SIMD | | `VPMULLD` | yes | Packed integer SIMD | | `VPMULLQ` | yes | Packed integer SIMD | | `VPMULLW` | yes | Packed integer SIMD | | `VPMULTISHIFTQB` | yes | | | `VPMULUDQ` | yes | Packed integer SIMD | | `VPOPCNTB` | yes | | | `VPOPCNTD` | yes | | | `VPOPCNTQ` | yes | | | `VPOPCNTW` | yes | | | `VPOR` | yes | Packed integer SIMD | | `VPORD` | yes | Packed integer SIMD | | `VPORQ` | yes | Packed integer SIMD | | `VPROLD` | yes | | | `VPROLQ` | yes | | | `VPROLVD` | yes | | | `VPROLVQ` | yes | | | `VPRORD` | yes | | | `VPRORQ` | yes | | | `VPRORVD` | yes | | | `VPRORVQ` | yes | | | `VPSADBW` | yes | | | `VPSCATTERDD` | yes | | | `VPSCATTERDQ` | yes | | | `VPSCATTERQD` | yes | | | `VPSCATTERQQ` | yes | | | `VPSHLDD` | yes | | | `VPSHLDQ` | yes | | | `VPSHLDVD` | yes | | | `VPSHLDVQ` | yes | | | `VPSHLDVW` | yes | | | `VPSHLDW` | yes | | | `VPSHRDD` | yes | | | `VPSHRDQ` | yes | | | `VPSHRDVD` | yes | | | `VPSHRDVQ` | yes | | | `VPSHRDVW` | yes | | | `VPSHRDW` | yes | | | `VPSHUFB` | yes | Shuffle / permute / broadcast | | `VPSHUFBITQMB` | yes | | | `VPSHUFD` | yes | Shuffle / permute / broadcast | | `VPSHUFHW` | yes | Shuffle / permute / broadcast | | `VPSHUFLW` | yes | Shuffle / permute / broadcast | | `VPSIGNB` | no | | | `VPSIGND` | no | | | `VPSIGNW` | no | | | `VPSLLD` | yes | Packed integer SIMD | | `VPSLLDQ` | yes | | | `VPSLLQ` | yes | Packed integer SIMD | | `VPSLLVD` | yes | Packed integer SIMD | | `VPSLLVQ` | yes | Packed integer SIMD | | `VPSLLVW` | yes | | | `VPSLLW` | yes | Packed integer SIMD | | `VPSRAD` | yes | Packed integer SIMD | | `VPSRAQ` | yes | Packed integer SIMD | | `VPSRAVD` | yes | Packed integer SIMD | | `VPSRAVQ` | yes | Packed integer SIMD | | `VPSRAVW` | yes | | | `VPSRAW` | yes | Packed integer SIMD | | `VPSRLD` | yes | Packed integer SIMD | | `VPSRLDQ` | yes | | | `VPSRLQ` | yes | Packed integer SIMD | | `VPSRLVD` | yes | Packed integer SIMD | | `VPSRLVQ` | yes | Packed integer SIMD | | `VPSRLVW` | yes | | | `VPSRLW` | yes | Packed integer SIMD | | `VPSUBB` | yes | Packed integer SIMD | | `VPSUBD` | yes | Packed integer SIMD | | `VPSUBQ` | yes | Packed integer SIMD | | `VPSUBSB` | yes | | | `VPSUBSW` | yes | | | `VPSUBUSB` | yes | Packed integer SIMD | | `VPSUBUSW` | yes | Packed integer SIMD | | `VPSUBW` | yes | Packed integer SIMD | | `VPTERNLOGD` | yes | | | `VPTERNLOGQ` | yes | | | `VPTEST` | yes | | | `VPTESTMB` | yes | | | `VPTESTMD` | yes | | | `VPTESTMQ` | yes | | | `VPTESTMW` | yes | | | `VPTESTNMB` | yes | | | `VPTESTNMD` | yes | | | `VPTESTNMQ` | yes | | | `VPTESTNMW` | yes | | | `VPUNPCKHBW` | yes | Shuffle / permute / broadcast | | `VPUNPCKHDQ` | yes | Shuffle / permute / broadcast | | `VPUNPCKHQDQ` | yes | Shuffle / permute / broadcast | | `VPUNPCKHWD` | yes | Shuffle / permute / broadcast | | `VPUNPCKLBW` | yes | Shuffle / permute / broadcast | | `VPUNPCKLDQ` | yes | Shuffle / permute / broadcast | | `VPUNPCKLQDQ` | yes | Shuffle / permute / broadcast | | `VPUNPCKLWD` | yes | Shuffle / permute / broadcast | | `VPXOR` | yes | Packed integer SIMD | | `VPXORD` | yes | Packed integer SIMD | | `VPXORQ` | yes | Packed integer SIMD | | `VRANGEPD` | yes | | | `VRANGEPS` | yes | | | `VRANGESD` | yes | | | `VRANGESS` | yes | | | `VRCP14PD` | yes | | | `VRCP14PS` | yes | | | `VRCP14SD` | yes | | | `VRCP14SS` | yes | | | `VRCP28PD` | yes | | | `VRCP28PS` | yes | | | `VRCP28SD` | yes | | | `VRCP28SS` | yes | | | `VRCPPS` | no | Packed/scalar floating point | | `VRCPSS` | no | | | `VREDUCEPD` | yes | | | `VREDUCEPS` | yes | | | `VREDUCESD` | yes | | | `VREDUCESS` | yes | | | `VRNDSCALEPD` | yes | | | `VRNDSCALEPS` | yes | | | `VRNDSCALESD` | yes | | | `VRNDSCALESS` | yes | | | `VROUNDPD` | no | | | `VROUNDPS` | no | | | `VROUNDSD` | no | | | `VROUNDSS` | no | | | `VRSQRT14PD` | yes | | | `VRSQRT14PS` | yes | | | `VRSQRT14SD` | yes | | | `VRSQRT14SS` | yes | | | `VRSQRT28PD` | yes | | | `VRSQRT28PS` | yes | | | `VRSQRT28SD` | yes | | | `VRSQRT28SS` | yes | | | `VRSQRTPS` | no | Packed/scalar floating point | | `VRSQRTSS` | no | | | `VSCALEFPD` | yes | | | `VSCALEFPS` | yes | | | `VSCALEFSD` | yes | | | `VSCALEFSS` | yes | | | `VSCATTERDPD` | yes | | | `VSCATTERDPS` | yes | | | `VSCATTERPF0DPD` | no | | | `VSCATTERPF0DPS` | no | | | `VSCATTERPF0QPD` | no | | | `VSCATTERPF0QPS` | no | | | `VSCATTERPF1DPD` | no | | | `VSCATTERPF1DPS` | no | | | `VSCATTERPF1QPD` | no | | | `VSCATTERPF1QPS` | no | | | `VSCATTERQPD` | yes | | | `VSCATTERQPS` | yes | | | `VSHUFF32X4` | yes | | | `VSHUFF64X2` | yes | | | `VSHUFI32X4` | yes | | | `VSHUFI64X2` | yes | | | `VSHUFPD` | yes | Shuffle / permute / broadcast | | `VSHUFPS` | yes | Shuffle / permute / broadcast | | `VSQRTPD` | yes | Packed/scalar floating point | | `VSQRTPS` | yes | Packed/scalar floating point | | `VSQRTSD` | yes | Packed/scalar floating point | | `VSQRTSS` | yes | Packed/scalar floating point | | `VSTMXCSR` | no | | | `VSUBPD` | yes | Packed/scalar floating point | | `VSUBPS` | yes | Packed/scalar floating point | | `VSUBSD` | yes | Packed/scalar floating point | | `VSUBSS` | yes | Packed/scalar floating point | | `VTESTPD` | no | | | `VTESTPS` | no | | | `VUCOMISD` | yes | | | `VUCOMISS` | yes | | | `VUNPCKHPD` | yes | Packed/scalar floating point | | `VUNPCKHPS` | yes | Packed/scalar floating point | | `VUNPCKLPD` | yes | Packed/scalar floating point | | `VUNPCKLPS` | yes | Packed/scalar floating point | | `VXORPD` | yes | Packed/scalar floating point | | `VXORPS` | yes | Packed/scalar floating point | | `VZEROALL` | yes | Zero all YMM/ZMM state | | `VZEROUPPER` | yes | Zero upper halves of YMM/ZMM | | `WAIT` | no | | | `WBINVD` | no | | | `WORD` | yes | | | `WRFSBASEL` | no | | | `WRFSBASEQ` | no | | | `WRGSBASEL` | no | | | `WRGSBASEQ` | no | | | `WRMSR` | no | | | `WRPKRU` | no | | | `XABORT` | no | | | `XACQUIRE` | no | | | `XADDB` | yes | | | `XADDL` | yes | | | `XADDQ` | yes | | | `XADDW` | yes | | | `XBEGIN` | no | | | `XCHGB` | yes | Exchange operands | | `XCHGL` | yes | Exchange operands | | `XCHGQ` | yes | Exchange operands | | `XCHGW` | yes | Exchange operands | | `XEND` | no | | | `XGETBV` | yes | | | `XLAT` | no | | | `XORB` | yes | XOR integer | | `XORL` | yes | XOR integer | | `XORPD` | yes | | | `XORPS` | yes | | | `XORQ` | yes | XOR integer | | `XORW` | yes | XOR integer | | `XRELEASE` | no | | | `XRSTOR` | no | | | `XRSTOR64` | no | | | `XRSTORS` | no | | | `XRSTORS64` | no | | | `XSAVE` | no | | | `XSAVE64` | no | | | `XSAVEC` | no | | | `XSAVEC64` | no | | | `XSAVEOPT` | no | | | `XSAVEOPT64` | no | | | `XSAVES` | no | | | `XSAVES64` | no | | | `XSETBV` | no | | | `XTEST` | no | | | `JA` | yes | Conditional jump | | `JAE` | yes | Conditional jump | | `JB` | yes | Conditional jump | | `JBE` | yes | Conditional jump | | `JC` | yes | Conditional jump | | `JE` | yes | | | `JG` | yes | Conditional jump | | `JHS` | no | | | `JL` | yes | Conditional jump | | `JLO` | no | | | `JNA` | yes | | | `JNAE` | yes | | | `JNB` | yes | | | `JNBE` | yes | | | `JNC` | yes | Conditional jump | | `JNG` | yes | | | `JNGE` | yes | | | `JNL` | yes | | | `JNLE` | yes | | | `JNO` | yes | Conditional jump | | `JNP` | yes | Conditional jump | | `JNS` | yes | Conditional jump | | `JNZ` | yes | Conditional jump | | `JO` | yes | Conditional jump | | `JP` | yes | Conditional jump | | `JPE` | yes | Conditional jump | | `JPO` | yes | Conditional jump | | `JS` | yes | Conditional jump | | `JZ` | yes | Conditional jump | | `MASKMOVDQU` | no | | | `MOVDQ2Q` | no | | | `MOVNTDQ` | no | | | `MOVOA` | yes | | | `PSLLDQ` | yes | | | `PSRLDQ` | yes | | | `MOVD` | yes | SIMD move | | `PADDD` | yes | | | `MOVBELL` | no | | | `MOVBEQQ` | no | | | `MOVBEWW` | no | | Recognised: 1654 mnemonics. gasm encodes: 1113.