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.

Operation<br />

VPSUBUSB (VEX.256 encoded version)<br />

DEST[7:0] SaturateToUnsignedByte (SRC1[7:0] - SRC2[7:0]);<br />

(* Repeat subtract operation for 2nd through 31st bytes *)<br />

DEST[255:148] SaturateToUnsignedByte (SRC1[255:248] - SRC2[255:248]);<br />

VPSUBUSB (VEX.128 encoded version)<br />

DEST[7:0] SaturateToUnsignedByte (SRC1[7:0] - SRC2[7:0]);<br />

(* Repeat subtract operation for 2nd through 14th bytes *)<br />

DEST[127:120] SaturateToUnsignedByte (SRC1[127:120] - SRC2[127:120]);<br />

DEST[VLMAX:128] 0<br />

PSUBUSB (128-bit Legacy SSE Version)<br />

DEST[7:0] SaturateToUnsignedByte (DEST[7:0] - SRC[7:0]);<br />

(* Repeat subtract operation for 2nd through 14th bytes *)<br />

DEST[127:120] SaturateToUnsignedByte (DEST[127:120] - SRC[127:120]);<br />

DEST[VLMAX:128] (Unmodified)<br />

VPSUBUSW (VEX.256 encoded version)<br />

DEST[15:0] SaturateToUnsignedWord (SRC1[15:0] - SRC2[15:0]);<br />

(* Repeat subtract operation for 2nd through 15th words *)<br />

DEST[255:240] SaturateToUnsignedWord (SRC1[255:240] - SRC2[255:240]);<br />

VPSUBUSW (VEX.128 encoded version)<br />

DEST[15:0] SaturateToUnsignedWord (SRC1[15:0] - SRC2[15:0]);<br />

(* Repeat subtract operation for 2nd through 7th words *)<br />

DEST[127:112] SaturateToUnsignedWord (SRC1[127:112] - SRC2[127:112]);<br />

DEST[VLMAX:128] 0<br />

PSUBUSW (128-bit Legacy SSE Version)<br />

DEST[15:0] SaturateToUnsignedWord (DEST[15:0] - SRC[15:0]);<br />

(* Repeat subtract operation for 2nd through 7th words *)<br />

DEST[127:112] SaturateToUnsignedWord (DEST[127:112] - SRC[127:112]);<br />

DEST[VLMAX:128] (Unmodified)<br />

Intel C/C++ Compiler Intrinsic Equivalent<br />

(V)PSUBUSB: __m128i _mm_subs_epu8(__m128i m1, __m128i m2)<br />

(V)PSUBUSW: __m128i _mm_subs_epu16(__m128i m1, __m128i m2)<br />

VPSUBUSB: __m256i _mm256_subs_epu8(__m256i m1, __m256i m2)<br />

VPSUBUSW: __m256i _mm256_subs_epu16(__m256i m1, __m256i m2)<br />

SIMD Floating-Point Exceptions<br />

None<br />

Other Exceptions<br />

See Exceptions Type 4<br />

INSTRUCTION SET REFERENCE<br />

Ref. # 319433-014 5-159

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

Saved successfully!

Ooh no, something went wrong!