Instruction Reference
This section enables you to look up an intrinsic by instruction. The following table lists instructions, followed by the intrinsic and the platforms for which that intrinsic is available. In some cases, more than one intrinsic can generate a single instruction; for example, if an instruction takes arguments of different type or size.
Instruction |
Intrinsic |
X86 |
X64 |
IPF |
---|---|---|---|---|
addps |
SSE |
Yes |
No |
|
addpd |
SSE2 |
Yes |
No |
|
addsd |
SSE2 |
Yes |
No |
|
addss |
SSE |
Yes |
No |
|
addsubpd |
SSE3 |
Yes |
No |
|
addsubps |
SSE3 |
Yes |
No |
|
aesdec |
Yes |
Yes |
No |
|
aesdeclast |
Yes |
Yes |
No |
|
aesenc |
Yes |
Yes |
No |
|
aesenclast |
Yes |
Yes |
No |
|
aesimc |
Yes |
Yes |
No |
|
aeskeygenassist |
Yes |
Yes |
No |
|
andpd |
SSE2 |
Yes |
No |
|
andps |
SSE |
Yes |
No |
|
andnpd |
SSE2 |
Yes |
No |
|
andnps |
SSE |
Yes |
No |
|
break |
No |
No |
Yes |
|
bsf |
Yes |
Yes |
Yes |
|
bsr |
Yes |
Yes |
Yes |
|
bt |
Yes |
Yes |
Yes |
|
btc |
Yes |
Yes |
Yes |
|
btr |
Yes |
Yes |
Yes |
|
bts |
Yes |
Yes |
Yes |
|
clflush |
SSE2 |
Yes |
No |
|
cmpeqpd |
SSE2 |
Yes |
No |
|
cmpeqps |
SSE |
Yes |
No |
|
cmpeqsd |
SSE2 |
Yes |
No |
|
cmpeqss |
SSE |
Yes |
No |
|
cmplepd |
SSE2 |
Yes |
No |
|
cmpleps |
SSE |
Yes |
No |
|
cmplesd |
SSE2 |
Yes |
No |
|
cmpless |
SSE |
Yes |
No |
|
cmpltpd |
SSE2 |
Yes |
No |
|
cmpltps |
SSE |
Yes |
No |
|
cmpltsd |
SSE2 |
Yes |
No |
|
cmpltss |
SSE |
Yes |
No |
|
cmpneqpd |
SSE2 |
Yes |
No |
|
cmpneqps |
SSE |
Yes |
No |
|
cmpneqsd |
SSE2 |
Yes |
No |
|
cmpneqss |
SSE |
Yes |
No |
|
cmpnlepd |
SSE2 |
Yes |
No |
|
cmpnleps |
SSE |
Yes |
No |
|
cmpnlesd |
SSE2 |
Yes |
No |
|
cmpnless |
SSE |
Yes |
No |
|
cmpnltpd |
SSE2 |
Yes |
No |
|
cmpnltps |
SSE |
Yes |
No |
|
cmpnltsd |
SSE2 |
Yes |
No |
|
cmpnltss |
SSE |
Yes |
No |
|
cmpordpd |
SSE2 |
Yes |
No |
|
cmpordps |
SSE |
Yes |
No |
|
cmpordsd |
SSE2 |
Yes |
No |
|
cmpordss |
SSE |
Yes |
No |
|
cmpunordpd |
SSE2 |
Yes |
No |
|
cmpunordps |
SSE |
Yes |
No |
|
cmpunordsd |
SSE2 |
Yes |
No |
|
cmpunordss |
SSE |
Yes |
No |
|
cmpxchg4 |
Yes |
Yes |
Yes |
|
cmpxchg8 |
Yes |
Yes |
Yes |
|
cmpxchg16b |
No |
Yes |
Yes |
|
comisd |
_mm_comieq_sd, _mm_comilt_sd, _mm_comile_sd, _mm_comigt_sd, _mm_comige_sd, _mm_comineq_sd |
SSE2 |
Yes |
No |
comiss |
_mm_comieq_ss, _mm_comilt_ss, _mm_comile_ss, _mm_comigt_ss, _mm_comige_ss, _mm_comineq_ss |
SSE |
Yes |
No |
cpuid |
Yes |
Yes |
No |
|
cpuidex |
Yes |
Yes |
No |
|
cvtdq2pd |
SSE2 |
Yes |
No |
|
cvtdq2ps |
SSE2 |
Yes |
No |
|
cvtpd2dq |
SSE2 |
Yes |
No |
|
cvtpd2pi |
SSE2 |
No |
No |
|
cvtpd2ps |
SSE2 |
Yes |
No |
|
cvtpi2pd |
SSE2 |
No |
No |
|
cvtpi2ps |
SSE |
No |
No |
|
cvtpi2ps |
SSE2 |
No |
No |
|
cvtps2dq |
SSE2 |
Yes |
No |
|
cvtps2pd |
SSE2 |
Yes |
No |
|
cvtps2pi |
SSE |
No |
No |
|
cvtsd2si |
SSE2 |
Yes |
No |
|
cvtsd2si |
No |
Yes |
No |
|
cvtsd2ss |
SSE2 |
Yes |
No |
|
cvtsi2sd |
SSE2 |
Yes |
No |
|
cvtsi2sd |
No |
Yes |
No |
|
cvtsi2ss |
SSE |
Yes |
No |
|
cvtsi2ss |
SSE2 |
Yes |
No |
|
cvtsi2ss |
No |
Yes |
No |
|
cvtss2sd |
SSE2 |
Yes |
No |
|
cvtss2si |
SSE |
Yes |
No |
|
cvtss2si |
SSE |
Yes |
No |
|
cvttpd2dq |
SSE2 |
Yes |
No |
|
cvttpd2pi |
SSE2 |
No |
No |
|
cvttps2dq |
SSE2 |
Yes |
No |
|
cvttps2pi |
SSE |
No |
No |
|
cvttps2pi |
SSE2 |
No |
No |
|
cvttsd2si |
No |
Yes |
No |
|
cvttss2si |
SSE |
Yes |
No |
|
cvttss2si |
SSE |
Yes |
No |
|
cvttss2si |
No |
Yes |
No |
|
czx1.l |
No |
No |
Yes |
|
czx1.r |
No |
No |
Yes |
|
czx2.l |
No |
No |
Yes |
|
czx2.r |
No |
No |
Yes |
|
dep.mi |
No |
No |
Yes |
|
dep.mr |
No |
No |
Yes |
|
dep.zi |
No |
No |
Yes |
|
dep.zr |
No |
No |
Yes |
|
Divps |
SSE |
Yes |
No |
|
divpd |
SSE2 |
Yes |
No |
|
divsd |
SSE2 |
Yes |
No |
|
divss |
SSE |
Yes |
No |
|
emms |
MMX |
No |
Yes |
|
extr |
No |
No |
Yes |
|
extr.u |
No |
No |
Yes |
|
extrq |
No |
Yes |
No |
|
extrq |
No |
Yes |
No |
|
fc |
No |
No |
Yes |
|
fc.i |
No |
No |
Yes |
|
fclrf.s0 |
No |
No |
Yes |
|
flushrs |
No |
No |
Yes |
|
fsetc |
No |
No |
Yes |
|
fwb |
No |
No |
Yes |
|
haddpd |
SSE3 |
Yes |
No |
|
haddps |
SSE3 |
Yes |
No |
|
hsubpd |
SSE3 |
Yes |
No |
|
hsubps |
SSE3 |
Yes |
No |
|
in |
Yes |
Yes |
No |
|
insertq |
No |
Yes |
No |
|
insertq |
No |
Yes |
No |
|
int 2c |
Yes |
Yes |
No |
|
invala |
No |
No |
Yes |
|
invlpg |
Yes |
Yes |
No |
|
ldmxcsr |
SSE |
Yes |
No |
|
lfence |
SSE2 |
Yes |
No |
|
lfetch |
No |
No |
Yes |
|
lfetch.excl |
No |
No |
Yes |
|
lfetch.fault |
No |
No |
Yes |
|
lfetch.fault.excl |
No |
No |
Yes |
|
lock_btr |
Yes |
Yes |
No |
|
lock_bts |
Yes |
Yes |
No |
|
lzcnt |
No |
Yes |
No |
|
lzcnt |
No |
Yes |
No |
|
lzcnt |
No |
Yes |
No |
|
maskmovq |
SSE |
No |
Yes |
|
maskmovdqu |
SSE2 |
Yes |
No |
|
maxsd |
SSE2 |
Yes |
No |
|
Maxpd |
SSE2 |
Yes |
No |
|
maxps |
SSE |
Yes |
No |
|
maxss |
SSE |
Yes |
No |
|
mf |
No |
No |
Yes |
|
mf.a |
No |
No |
Yes |
|
mfence |
SSE2 |
Yes |
No |
|
minps |
SSE |
Yes |
No |
|
minss |
SSE |
Yes |
No |
|
mix1.l |
No |
No |
Yes |
|
mix1.r |
No |
No |
Yes |
|
mix2.l |
No |
No |
Yes |
|
mix2.r |
No |
No |
Yes |
|
mix4.l |
No |
No |
Yes |
|
mix4.r |
No |
No |
Yes |
|
monitor |
SSE3 |
Yes |
No |
|
movapd |
SSE2 |
Yes |
No |
|
movaps |
SSE |
Yes |
No |
|
movd |
MMX |
No |
Yes |
|
movd |
SSE2 |
Yes |
No |
|
movd |
No |
Yes |
No |
|
movddup |
SSE3 |
No |
Yes |
|
movdq2q |
SSE2 |
No |
No |
|
movdqa |
SSE2 |
Yes |
No |
|
movdqu |
SSE2 |
Yes |
No |
|
movhlps |
SSE |
Yes |
No |
|
movhpd |
SSE2 |
Yes |
No |
|
movhps |
SSE |
Yes |
No |
|
movlhps |
SSE |
Yes |
No |
|
movlpd |
_mm_loadl_pd, _mm_storel_pd, _mm_stream_pd |
SSE2 |
Yes |
No |
movlps |
SSE |
Yes |
No |
|
movmskpd |
SSE2 |
Yes |
No |
|
movmskps |
SSE |
Yes |
No |
|
movntdq |
SSE2 |
Yes |
No |
|
movnti |
SSE2 |
Yes |
No |
|
movnti |
SSE |
No |
Yes |
|
movntps |
SSE |
Yes |
No |
|
movntq |
SSE |
No |
No |
|
movntsd |
No |
Yes |
No |
|
movntss |
No |
Yes |
No |
|
movq |
SSE2 |
Yes |
No |
|
movq |
SSE2 |
No |
No |
|
movq2dq |
_mm_movpi64_pi64 |
SSE2 |
No |
No |
movsd |
SSE2 |
Yes |
No |
|
movshdup |
SSE3 |
Yes |
No |
|
movsldup |
SSE3 |
Yes |
No |
|
movss |
SSE |
Yes |
No |
|
movupd |
SSE2 |
Yes |
No |
|
movups |
SSE |
Yes |
No |
|
mulpd |
SSE2 |
Yes |
No |
|
mulps |
SSE |
Yes |
No |
|
mulsd |
SSE2 |
Yes |
No |
|
mulss |
SSE |
Yes |
No |
|
mux1 |
No |
No |
Yes |
|
mux2 |
No |
No |
Yes |
|
mwait |
SSE3 |
Yes |
No |
|
orpd |
SSE2 |
Yes |
No |
|
orps |
SSE |
Yes |
No |
|
out |
Yes |
Yes |
No |
|
padd1.uus |
No |
No |
Yes |
|
padd2.uus |
No |
No |
Yes |
|
packssdw |
MMX |
No |
Yes |
|
packssdw |
SSE2 |
Yes |
No |
|
packsswb |
MMX |
No |
Yes |
|
packsswb |
SSE2 |
Yes |
No |
|
packuswb |
MMX |
No |
Yes |
|
packuswb |
SSE2 |
Yes |
No |
|
paddb |
MMX |
No |
Yes |
|
paddb |
SSE2 |
Yes |
No |
|
paddd |
MMX |
No |
Yes |
|
paddd |
SSE2 |
Yes |
No |
|
paddq |
SSE2 |
No |
Yes |
|
paddq |
SSE2 |
No |
No |
|
paddsb |
MMX |
No |
Yes |
|
paddsb |
SSE2 |
Yes |
No |
|
paddsw |
MMX |
No |
Yes |
|
paddsw |
SSE2 |
Yes |
No |
|
paddusb |
MMX |
No |
Yes |
|
paddusb |
SSE2 |
Yes |
No |
|
paddusw |
MMX |
No |
Yes |
|
paddusw |
SSE2 |
Yes |
No |
|
paddw |
MMX |
No |
Yes |
|
paddw |
SSE2 |
Yes |
No |
|
pand |
MMX |
No |
Yes |
|
pand |
SSE2 |
Yes |
No |
|
pandn |
MMX |
No |
Yes |
|
pandn |
SSE2 |
Yes |
No |
|
pause |
SSE2 |
Yes |
No |
|
pavg1.nraz |
No |
No |
Yes |
|
pavg2.nraz |
No |
No |
Yes |
|
pavgb |
SSE |
No |
Yes |
|
pavgb |
SSE2 |
Yes |
No |
|
pavgw |
SSE |
No |
Yes |
|
pavgw |
SSE2 |
Yes |
No |
|
pavgsub1 |
No |
No |
Yes |
|
pavgsub2 |
No |
No |
Yes |
|
pclmulqdq |
Yes |
Yes |
No |
|
pcmpeqb |
MMX |
No |
Yes |
|
pcmpeqb |
SSE2 |
Yes |
No |
|
pcmpeqd |
MMX |
No |
Yes |
|
pcmpeqd |
SSE2 |
Yes |
No |
|
pcmpeqw |
MMX |
No |
Yes |
|
pcmpeqw |
SSE2 |
Yes |
No |
|
pcmpgtb |
MMX |
No |
Yes |
|
pcmpgtb |
SSE2 |
Yes |
No |
|
pcmpgtd |
MMX |
No |
Yes |
|
pcmpgtd |
SSE2 |
Yes |
No |
|
pcmpgtw |
MMX |
No |
Yes |
|
pcmpgtw |
SSE2 |
Yes |
No |
|
pextrw |
SSE |
No |
Yes |
|
pextrw |
SSE2 |
Yes |
No |
|
pinsrw |
SSE |
No |
Yes |
|
pinsrw |
SSE2 |
Yes |
No |
|
pmaddwd |
MMX |
No |
Yes |
|
pmaddwd |
SSE2 |
Yes |
No |
|
pmaxsw |
SSE |
No |
Yes |
|
pmaxsw |
SSE2 |
Yes |
No |
|
pmaxub |
MMX |
No |
Yes |
|
pmaxub |
SSE2 |
No |
Yes |
|
pminsw |
SSE |
No |
Yes |
|
pminsw |
SSE2 |
Yes |
No |
|
pminub |
SSE |
No |
Yes |
|
pminub |
SSE2 |
Yes |
No |
|
pmovmskb |
SSE |
No |
Yes |
|
pmovmskb |
SSE2 |
Yes |
No |
|
pmpy2.l |
No |
No |
Yes |
|
pmpy2.r |
No |
No |
Yes |
|
pmpyshr2 |
No |
No |
Yes |
|
pmpyshr2.u |
No |
No |
Yes |
|
pmulhw |
MMX |
No |
Yes |
|
pmulhw |
SSE2 |
Yes |
No |
|
pmulhuw |
SSE |
No |
Yes |
|
pmulhuw |
SSE2 |
Yes |
No |
|
pmullw |
MMX |
No |
Yes |
|
pmullw |
SSE2 |
Yes |
No |
|
pmuludq |
SSE2 |
No |
No |
|
pmuludq |
SSE2 |
Yes |
No |
|
popcnt |
No |
No |
Yes |
|
popcnt |
No |
Yes |
No |
|
popcnt |
No |
Yes |
No |
|
popcnt |
No |
Yes |
No |
|
por |
MMX |
No |
Yes |
|
por |
SSE2 |
Yes |
No |
|
prefetch |
SSE |
Yes |
No |
|
psadbw |
SSE |
No |
Yes |
|
psadbw |
SSE2 |
Yes |
No |
|
pshladd2 |
No |
No |
Yes |
|
pshradd2 |
No |
No |
Yes |
|
pshufd |
SSE2 |
Yes |
No |
|
pshufhw |
SSE2 |
Yes |
No |
|
pshuflw |
SSE2 |
Yes |
No |
|
pshufw |
SSE |
No |
Yes |
|
pslld |
MMX |
No |
Yes |
|
pslld |
SSE2 |
Yes |
No |
|
pslldi |
MMX |
No |
Yes |
|
pslldq |
SSE2 |
Yes |
No |
|
psllq |
MMX |
No |
Yes |
|
psllq |
SSE2 |
Yes |
No |
|
psllqi |
MMX |
No |
Yes |
|
psllw |
MMX |
No |
Yes |
|
psllw |
SSE2 |
Yes |
No |
|
psllwi |
MMX |
No |
Yes |
|
psrad |
MMX |
No |
Yes |
|
psrad |
SSE2 |
Yes |
No |
|
psradi |
MMX |
No |
Yes |
|
psraw |
MMX |
No |
Yes |
|
psraw |
SSE2 |
Yes |
No |
|
psrawi |
MMX |
No |
Yes |
|
psrld |
MMX |
No |
Yes |
|
psrld |
SSE2 |
Yes |
No |
|
psrldi |
MMX |
No |
Yes |
|
psrldq |
SSE2 |
Yes |
No |
|
psrlq |
MMX |
No |
Yes |
|
psrlq |
SSE2 |
Yes |
No |
|
psrlqi |
MMX |
No |
Yes |
|
psrlw |
MMX |
No |
Yes |
|
psrlw |
SSE2 |
Yes |
No |
|
psrlwi |
MMX |
No |
Yes |
|
psub1.uus |
No |
No |
Yes |
|
psub2.uus |
No |
No |
Yes |
|
psubb |
MMX |
No |
Yes |
|
psubb |
SSE2 |
Yes |
No |
|
psubd |
MMX |
No |
Yes |
|
psubd |
SSE2 |
Yes |
No |
|
psubq |
SSE2 |
No |
No |
|
psubq |
SSE2 |
Yes |
No |
|
psubsb |
MMX |
No |
Yes |
|
psubsb |
SSE2 |
Yes |
No |
|
psubsw |
MMX |
No |
Yes |
|
psubsw |
SSE2 |
Yes |
No |
|
psubusb |
MMX |
No |
Yes |
|
psubusb |
SSE2 |
Yes |
No |
|
psubusw |
MMX |
No |
Yes |
|
psubusw |
SSE2 |
Yes |
No |
|
psubw |
MMX |
No |
Yes |
|
psubw |
SSE2 |
Yes |
No |
|
punpckhbw |
MMX |
No |
Yes |
|
punpckhbw |
SSE2 |
Yes |
No |
|
punpckhdq |
MMX |
No |
Yes |
|
punpckhdq |
SSE2 |
Yes |
No |
|
punpckhqdq |
SSE2 |
Yes |
No |
|
punpckhwd |
MMX |
No |
Yes |
|
punpckhwd |
SSE2 |
Yes |
No |
|
punpcklbw |
MMX |
No |
Yes |
|
punpckldq |
MMX |
No |
Yes |
|
punpcklqdq |
SSE2 |
Yes |
No |
|
punpcklwd |
MMX |
No |
Yes |
|
ptcg |
No |
No |
Yes |
|
ptcg.a |
No |
No |
Yes |
|
ptcl |
No |
No |
Yes |
|
ptr.d |
No |
No |
Yes |
|
ptr.i |
No |
No |
Yes |
|
pxor |
MMX |
No |
Yes |
|
pxor |
SSE2 |
Yes |
No |
|
rcpps |
SSE |
Yes |
No |
|
rcpss |
SSE |
Yes |
No |
|
rdmsr |
Yes |
Yes |
No |
|
rdpmc |
Yes |
Yes |
No |
|
rdteb |
No |
No |
Yes |
|
rdtsc |
Yes |
Yes |
No |
|
rdtscp |
No |
Yes |
No |
|
rep insb |
Yes |
Yes |
No |
|
rep insd |
Yes |
Yes |
No |
|
rep insw |
Yes |
Yes |
No |
|
rep movsb |
Yes |
Yes |
No |
|
rep movsd |
Yes |
Yes |
No |
|
rep movsq |
No |
Yes |
No |
|
rep movsw |
Yes |
Yes |
No |
|
rep outsb |
Yes |
Yes |
No |
|
rep outsd |
Yes |
Yes |
No |
|
rep outsw |
Yes |
Yes |
No |
|
rep stosb |
Yes |
Yes |
No |
|
rep stosd |
Yes |
Yes |
No |
|
rep stosq |
No |
Yes |
No |
|
rep stosw |
Yes |
Yes |
No |
|
Rsm |
No |
No |
Yes |
|
rsqrtps |
SSE |
Yes |
No |
|
rsprtss |
SSE |
Yes |
No |
|
rum |
No |
No |
Yes |
|
sfence |
SSE |
Yes |
No |
|
shladd |
No |
No |
Yes |
|
shrp |
No |
No |
Yes |
|
shufpd |
SSE2 |
Yes |
No |
|
shufps |
SSE |
Yes |
No |
|
sqrtpd |
SSE2 |
Yes |
No |
|
sqrtps |
SSE |
Yes |
No |
|
sqrtsd |
SSE2 |
Yes |
No |
|
sqrtss |
SSE |
Yes |
No |
|
srlz.d |
No |
No |
Yes |
|
srlz.i |
No |
No |
Yes |
|
ssm |
No |
No |
Yes |
|
sti |
Yes |
Yes |
Yes |
|
stmxcsr |
SSE |
Yes |
No |
|
subpd |
SSE2 |
Yes |
No |
|
subps |
SSE |
Yes |
No |
|
subsd |
SSE2 |
Yes |
No |
|
subss |
SSE |
Yes |
No |
|
sum |
No |
No |
Yes |
|
sync.i |
No |
No |
Yes |
|
thash |
No |
No |
Yes |
|
tnat.nz |
No |
No |
Yes |
|
ttag |
No |
No |
yes |
|
ucomisd |
_mm_ucomieq_sd, _mm_ucomilt_sd, _mm_ucomile_sd, _mm_ucomigt_sd, _mm_ucomige_sd, _mm_ucomineq_sd |
SSE2 |
Yes |
No |
ucomiss |
_mm_ucomieq_ss, _mm_ucomilt_ss, _mm_ucomile_ss, _mm_ucomigt_ss, _mm_ucomige_ss, _mm_ucomineq_ss |
SSE |
Yes |
No |
unpckhpd |
SSE2 |
Yes |
No |
|
unpckhps |
SSE |
Yes |
No |
|
unpckhpd |
SSE2 |
Yes |
No |
|
unpcklps |
SSE |
Yes |
No |
|
wbinvd |
Yes |
Yes |
No |
|
wrmsr |
Yes |
Yes |
No |
|
xorpd |
SSE2 |
Yes |
No |
|
xorps |
SSE |
Yes |
No |
|
yield |
No |
No |
Yes |