x86 architecture
L1OM opcodes




note: L1OM uses VXCSR and V0...V31 instead of MXCSR and ZMM0...ZMM31



62h
 
XBRW_oooo
 
x0h
 
x1h x2h x3h x4h x5h x6h x7h
 
1???_xh
 
BSFI
Gv,Rv
BSRI
Gv,Rv
BSFF
Gv,Rv
BSRF
Gv,Rv
BITINTERLEAVE11
Gv,Rv
BITINTERLEAVE21
Gv,Rv
INSERTFIELD
Gv,Rv,Iw,Ib,Ib
ROTATEFIELD
Gv,Rv,Iw,Ib,Ib
62h
 
XBRW_oooo
 
x8h
 
x9h xAh xBh xCh xDh xEh xFh
 
1???_xh
 
COUNTBITS
Gv,Rv
QUADMASK16
Gv,Rv
unused
   VPREFETCHn M = disp8*N
 VPREFETCH1 /n bits 0/1/2 = {EX}/{NT}/{MISS}
 VPREFETCH2 /n bits 0/1 = {EX}/{NT}
??00_Bh /n
??01_Bh /n

VPREFETCH1 M
VPREFETCH2 M
1100_Dh
 

VKAND
mKw,rKw
1100_Eh
 

VKOR
mKw,rKw
1?0?_Fh /0
1?0?_Fh /1

DELAY Rv
SPFLT Rv
??10_Bh /0...3
 

CLEVICT1 M
CLEVICT2 M
LDVXCSR Md
STVXCSR Md
1?01_Ch
 

VKMOV
Rz,rKw
1101_Dh
 

VKANDN
mKw,rKw
1101_Eh
 

VKORTEST
mKw,rKw
11?0_Ch
 

VKMOV
mKw,Gz
1110_Dh
 

VKANDNR
mKw,rKw
1110_Eh
 

VKXOR
mKw,rKw
1110_Fh
 

VKSWAPB
mKw,rKw
1111_Bh
 

VKMOVLHB
mKw,rKw
1111_Ch
 

VKMOV
mKw,rKw
1111_Dh
 

VKNOT
mKw,rKw
1111_Eh
 

VKXNOR
mKw,rKw
1111_Fh
 

unused
 



pre-
fix
D6
...
xxh
 
x0h
 
x1h x2h x3h x4h x5h x6h x7h
 
n/a
 
0xh DELAY
vvvvv
 
66h
 
 
n/a
 
1xh VLOADD
Vz {Kw},
Uld32(Mzt)
VLOADUNPACKLD
Vz {Kw},
U32(Mzt)
VLOADUNPACKHD
Vz {Kw},
U32(Mzt)
VSTORED
Mz {Kw},
Dst32(Vz)
VPACKSTORELD
Mz {Kw},
D32(Vz)
VPACKSTOREHD
Mz {Kw},
D32(Vz)
 
66h
 
VLOADQ
Vz {Kw},
Uld64(Mzt)
VLOADUNPACKLQ
Vz {Kw},
U64(Mzt)
VLOADUNPACKHQ
Vz {Kw},
U64(Mzt)
VSTOREQ
Mz {Kw},
Dst64(Vz)
VPACKSTORELQ
Mz {Kw},
D64(Vz)
VPACKSTOREHQ
Mz {Kw},
D64(Vz)
 
n/a
 
2xh VCMPccPS
rKw {Kw},Hz,
Sf32.ccf(Wzt)
VCMPccPI
rKw {Kw},Hz,
Si32.cci(Wzt)
VCMPccPU
rKw {Kw},Hz,
Si32.cci(Wzt)
VCMPccPS
rKw {Kw},Hz,
Sf32.ccf(Wzt)
VCMPccPI
rKw {Kw},Hz,
Si32.cci(Wzt)
VCMPccPU
rKw {Kw},Hz,
Si32.cci(Wzt)
 
66h
 
VCMPccPD
rKw {Kw},Hz,
Sf64.ccf(Wzt)
VCMPccPD
rKw {Kw},Hz,
Sf64.ccf(Wzt)
 
n/a
 
3xh VTESTPI
rKw {Kw},Hz,
Si32(Wzt)
 
66h
 
 
n/a
 
4xh VADDPS
Vz {Kw},Hz,
Sf32(Wzt)
VADDPI
Vz {Kw},Hz,
Si32(Wzt)
VADDSETCPI
Vz {Kw},vKw,
Si32(Wzt)
VADCPI
Vz {Kw},vKw,
Si32(Wzt)
VADDSETSPS
Vz {Kw.!0},Hz,
Sf32(Wzt)
VADDSETSPI
Vz {Kw.!0},Hz,
Si32(Wzt)
 
66h
 
VADDPD
Vz {Kw},Hz,
Sf64(Wzt)
 
n/a
 
5xh VSUBPS
Vz {Kw},Hz,
Sf32(Wzt)
VSUBPI
Vz {Kw},Hz,
Si32(Wzt)
VSUBSETBPI
Vz {Kw},vKw,
Si32(Wzt)
VSBBPI
Vz {Kw},vKw,
Si32(Wzt)
 
66h
 
VSUBPD
Vz {Kw},Hz,
Sf64(Wzt)
 
n/a
 
6xh VMADD231PS
Vz {Kw},Hz,
Sf32(Wzt)
VMADD231PI
Vz {Kw},Hz,
Si32(Wzt)
VMADD213PS
Vz {Kw},Hz,
Sf32(Wzt)
VMADD132PS
Vz {Kw},Hz,
Sf32(Wzt)
VMADD233PS
Vz {Kw},Hz,
Sf32(Wzt)
VMADD233PI
Vz {Kw},Hz,
Si32(Wzt)
 
66h
 
VMADD231PD
Vz {Kw},Hz,
Sf64(Wzt)
VMADD213PD
Vz {Kw},Hz,
Sf64(Wzt)
VMADD132PD
Vz {Kw},Hz,
Sf64(Wzt)
 
n/a
 
7xh VMADDN231PS
Vz {Kw},Hz,
Sf32(Wzt)
VMADDN213PS
Vz {Kw},Hz,
Sf32(Wzt)
VMADDN132PS
Vz {Kw},Hz,
Sf32(Wzt)
 
66h
 
VMADDN231PD
Vz {Kw},Hz,
Sf64(Wzt)
VMADDN213PD
Vz {Kw},Hz,
Sf64(Wzt)
VMADDN132PD
Vz {Kw},Hz,
Sf64(Wzt)
 
n/a
 
8xh VMULPS
Vz {Kw},Hz,
Sf32(Wzt)
VMULHPI
Vz {Kw},Hz,
Si32(Wzt)
VMULHPU
Vz {Kw},Hz,
Si32(Wzt)
VMULLPI
Vz {Kw},Hz,
Si32(Wzt)
VCLAMPZPS
Vz {Kw},Hz,
Sf32(Wzt)
VCLAMPZPI
Vz {Kw},Hz,
Si32(Wzt)
 
66h
 
VMULPD
Vz {Kw},Hz,
Sf64(Wzt)
 
n/a
 
9xh VCVTPS2PI
Vz {Kw},
Sf32.rc.exp(Wzt)
VCVTPS2PU
Vz {Kw},
Sf32.rc.exp(Wzt)
VCVTPI2PS
Vz {Kw},
Si32.exp(Wzt)
VCVTPU2PS
Vz {Kw},
Si32.exp(Wzt)
 
66h
 
VCVT[LH]PD2PS
Vz {Kw},
Sf64.rc.lh(Wzt)
VCVT[LH]PD2PI
Vz {Kw},
Sf64.rc.lh(Wzt)
VCVT[LH]PD2PU
Vz {Kw},
Sf64.rc.lh(Wzt)
VCVT[LH]PS2PD
Vz {Kw},
Sf32.lh(Wzt)
VCVT[LH]PI2PD
Vz {Kw},
Si32.lh(Wzt)
VCVT[LH]PU2PD
Vz {Kw},
Si32.lh(Wzt)
 
n/a
 
Axh VSLLPI
Vz {Kw},Hz,
Si32(Wzt)
VSRAPI
Vz {Kw},Hz,
Si32(Wzt)
VSRLPI
Vz {Kw},Hz,
Si32(Wzt)
VANDNPI
Vz {Kw},Hz,
Si32(Wzt)
VANDPI
Vz {Kw},Hz,
Si32(Wzt)
VORPI
Vz {Kw},Hz,
Si32(Wzt)
VXORPI
Vz {Kw},Hz,
Si32(Wzt)
 
66h
 
VANDNPQ
Vz {Kw},Hz,
Si64(Wzt)
VANDPQ
Vz {Kw},Hz,
Si64(Wzt)
VORPQ
Vz {Kw},Hz,
Si64(Wzt)
VXORPQ
Vz {Kw},Hz,
Si64(Wzt)
 
n/a
 
Bxh VEXP2LUTPS
Vz {Kw},
Si32(Wzt)
VLOG2LUTPS
Vz {Kw},
Sf32(Wzt)
VRSQRTLUTPS
Vz {Kw},
Sf32(Wzt)
VGETEXPPS
Vz {Kw},
Sf32(Wzt)
 
66h
 
 
n/a
 
Cxh VRCPRESPS
Vz {Kw},
Sf32(Wzt)
VRCPREFINEPS
Vz {Kw},Hz,
Sf32(Wzt)
 
66h
 
 
n/a
 
Dxh
 
66h
 
 
n/a
 
Exh
 
66h
 
 
n/a
 
Fxh VFIXUPPS
Vz {Kw},
Sf32(Wzt),Iw
VSHUF128X32
Vz {Kw},
none(Wzt),Ib,Ib
VINSERT-
FIELDPI
Vz {Kw},Hz,
Si32(Wzt),Iw
VROTATE-
FIELDPI
Vz {Kw},
Si32(Wzt),Iw
 
66h
 

pre-
fix
D6
...
xxh
 
x8h
 
x9h xAh xBh xCh xDh xEh xFh
 
n/a
 
0xh
 
66h
 
 
n/a
 
1xh VGATHERD
Vz {Kw.!0},
U32(Mdt.z)
VGATHERPFD
U32(Mdt.z) {Kw.!0}
 
VGATHERPF2D
U32(Mdt.z) {Kw.!0}
 
VSCATTERD
Md.z {Kw.!0},
D32(Vz)
VSCATTERPFD
D32(Md.z) {Kw.!0}
 
VSCATTERPF2D
D32(Md.z) {Kw.!0}
 
 
66h
 
 
n/a
 
2xh
 
66h
 
 
n/a
 
3xh
 
66h
 
 
n/a
 
4xh VADDNPS
Vz {Kw},Hz,
Sf32(Wzt)
 
66h
 
VADDNPD
Vz {Kw},Hz,
Sf64(Wzt)
 
n/a
 
5xh VSUBRPS
Vz {Kw},Hz,
Sf32(Wzt)
VSUBRPI
Vz {Kw},Hz,
Si32(Wzt)
VSUBRSETBPI
Vz {Kw},vKw,
Si32(Wzt)
VSBBRPI
Vz {Kw},vKw,
Si32(Wzt)
 
66h
 
VSUBRPD
Vz {Kw},Hz,
Sf64(Wzt)
 
n/a
 
6xh VMSUB231PS
Vz {Kw},Hz,
Sf32(Wzt)
VMSUB213PS
Vz {Kw},Hz,
Sf32(Wzt)
VMSUB132PS
Vz {Kw},Hz,
Sf32(Wzt)
 
66h
 
VMSUB231PD
Vz {Kw},Hz,
Sf64(Wzt)
VMSUB213PD
Vz {Kw},Hz,
Sf64(Wzt)
VMSUB132PD
Vz {Kw},Hz,
Sf64(Wzt)
 
n/a
 
7xh VMSUBR231PS
Vz {Kw},Hz,
Sf32(Wzt)
VMSUBR213PS
Vz {Kw},Hz,
Sf32(Wzt)
VMSUBR132PS
Vz {Kw},Hz,
Sf32(Wzt)
VMSUBR23C1PS
Vz {Kw},Hz,
Sf32(Wzt)
 
66h
 
VMSUBR231PD
Vz {Kw},Hz,
Sf64(Wzt)
VMSUBR213PD
Vz {Kw},Hz,
Sf64(Wzt)
VMSUBR132PD
Vz {Kw},Hz,
Sf64(Wzt)
VMSUBR23C1PD
Vz {Kw},Hz,
Sf64(Wzt)
 
n/a
 
8xh VMAXPS
Vz {Kw},Hz,
Sf32(Wzt)
VMAXPI
Vz {Kw},Hz,
Si32(Wzt)
VMAXPU
Vz {Kw},Hz,
Si32(Wzt)
VMINPS
Vz {Kw},Hz,
Sf32(Wzt)
VMINPI
Vz {Kw},Hz,
Si32(Wzt)
VMINPU
Vz {Kw},Hz,
Si32(Wzt)
 
66h
 
VMAXPD
Vz {Kw},Hz,
Sf64(Wzt)
VMINPD
Vz {Kw},Hz,
Sf64(Wzt)
 
n/a
 
9xh VROUNDPS
Vz {Kw},
Sf32.rc.exp(Wzt)
VCVTINSPS2U10
Vz {Kw},
Sf32.fu(Wzt)
VCVTINSPS2F11
Vz {Kw},
Sf32.ff.rc(Wzt)
VCVTPS2SRGB8
Vz {Kw},
Sf32(Wzt)
VMAXABSPS
Vz {Kw},Hz,
Sf32(Wzt)
 
66h
 
 
n/a
 
Axh VBINTINTER-
LEAVE11PI
Vz {Kw},Hz,
Si32(Wzt)
VBINTINTER-
LEAVE21PI
Vz {Kw},Hz,
Si32(Wzt)
 
66h
 
 
n/a
 
Bxh VSCALEPS
Vz {Kw},Hz,
Si32(Wzt)
 
66h
 
 
n/a
 
Cxh
 
66h
 
 
n/a
 
Dxh
 
66h
 
 
n/a
 
Exh
 
66h
 
 
n/a
 
Fxh
 
66h
 



main page