03.03.2013 Views

Intel® Architecture Instruction Set Extensions Programming Reference

Intel® Architecture Instruction Set Extensions Programming Reference

Intel® Architecture Instruction Set Extensions Programming Reference

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

VPMASKMOV — Conditional SIMD Integer Packed Loads and Stores<br />

Opcode/<br />

<strong>Instruction</strong><br />

Description<br />

Op/<br />

En<br />

64/32<br />

-bit<br />

Mode<br />

CPUID<br />

Feature<br />

Flag<br />

Description<br />

<strong>Instruction</strong> Operand Encoding<br />

INSTRUCTION SET REFERENCE<br />

VEX.NDS.128.66.0F38.W0 8C /r A V/V AVX2 Conditionally load dword values from m128 using mask in xmm2<br />

and store in xmm1.<br />

VPMASKMOVD xmm1, xmm2,<br />

m128<br />

VEX.NDS.256.66.0F38.W0 8C /r A V/V AVX2 Conditionally load dword values from m256 using mask in ymm2<br />

and store in ymm1.<br />

VPMASKMOVD ymm1, ymm2,<br />

m256<br />

VEX.NDS.128.66.0F38.W1 8C /r A V/V AVX2 Conditionally load qword values from m128 using mask in xmm2<br />

and store in xmm1.<br />

VPMASKMOVQ xmm1, xmm2,<br />

m128<br />

VEX.NDS.256.66.0F38.W1 8C /r A V/V AVX2 Conditionally load qword values from m256 using mask in ymm2<br />

and store in ymm1.<br />

VPMASKMOVQ ymm1, ymm2,<br />

m256<br />

VEX.NDS.128.66.0F38.W0 8E /r B V/V AVX2 Conditionally store dword values from xmm2 using mask in xmm1.<br />

VPMASKMOVD m128, xmm1,<br />

xmm2<br />

VEX.NDS.256.66.0F38.W0 8E /r B V/V AVX2 Conditionally store dword values from ymm2 using mask in ymm1.<br />

VPMASKMOVD m256, ymm1,<br />

ymm2<br />

VEX.NDS.128.66.0F38.W1 8E /r B V/V AVX2 Conditionally store qword values from xmm2 using mask in xmm1.<br />

VPMASKMOVQ m128, xmm1,<br />

xmm2<br />

VEX.NDS.256.66.0F38.W1 8E /r B V/V AVX2 Conditionally store qword values from ymm2 using mask in ymm1.<br />

VPMASKMOVQ m256, ymm1,<br />

ymm2<br />

Op/En Operand 1 Operand 2 Operand 3 Operand 4<br />

A ModRM:reg (w) VEX.vvvv ModRM:r/m (r) NA<br />

B ModRM:r/m (w) VEX.vvvv ModRM:reg (r) NA<br />

Conditionally moves packed data elements from the second source operand into the corresponding data element<br />

of the destination operand, depending on the mask bits associated with each data element. The mask bits are<br />

specified in the first source operand.<br />

The mask bit for each data element is the most significant bit of that element in the first source operand. If a mask<br />

is 1, the corresponding data element is copied from the second source operand to the destination operand. If the<br />

mask is 0, the corresponding data element is set to zero in the load form of these instructions, and unmodified in<br />

the store form.<br />

Ref. # 319433-014 5-193

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!