ia-32_volume1_basic-arch

Of the second operand performs a single precision

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: ted 16-bit results to the destination operand. Adds two adjacent, signed 32-bit integers horizontally from the source and destination operands and packs the signed 32-bit results to the destination operand. Performs horizontal subtraction on each adjacent pair of 16-bit signed integers by subtracting the most significant word from the least significant word of each pair in the source and destination operands. The signed 16-bit results are packed and written to the destination operand. Performs horizontal subtraction on each adjacent pair of 16-bit signed integers by subtracting the most significant word from the least significant word of each pair in the source and destina- PHADDSW PHADDD PHSUBW PHSUBSW 5-28 Vol. 1 INSTRUCTION SET SUMMARY tion operands. The signed, saturated 16-bit results are packed and written to the destination operand. PHSUBD Performs horizontal subtraction on each adjacent pair of 32-bit signed integers by subtracting the most significant doubleword from the least significant double word of each pair in the source and destination operands. The signed 32-bit results are packed and written to the destination operand. 5.8.2 PABSB PABSW PABSD Packed Absolute Values Computes the absolute value of each signed byte data element. Computes the absolute value of each signed 16-bit data element. Computes the absolute value of each signed 32-bit data element. 5.8.3 Multiply and Add Packed Signed and Unsigned Bytes Multiplies each unsigned byte value with the corresponding signed byte value to produce an intermediate, 16-bit signed integer. Each adjacent pair of 16-bit signed values are added horizontally. The signed, saturated 16-bit results are packed to the destination operand. PMADDUBSW 5.8.4 PMULHRSW Packed Multiply High with Round and Scale Multiplies vertically each signed 16-bit integer from the destination operand with the corresponding signed 16-bit integer of the source operand, producing intermediate, signed 32-bit integers. Each intermediate 32-bit integer is truncated to the 18 most significant bits. Rounding is always performed by adding 1 to the least significant bit of the 18-bit intermediate result. The final result is obtained by selecting the 16 bits immediately to the right of the most significant bit of each 18-bit intermediate result and packed to the destination operand. 5.8.5 PSHUFB Packed Shuffle Bytes Permutes each byte in place, according to a shuffle control mask. The least significant three or four bits of each shuffle control byte of the control mask form the shuffle index. The shuffle mask is unaffected. If the most significant bit (bit 7) of a shuffle control byte is set, the constant zero is written in the result byte. Vol. 1 5-29 INSTRUCTION SET SUMMARY 5.8.6 Packed Sign Negates each signed integer element of the destination operand if the sign of the corresponding data element in the source operand is less than zero. PSIGNB/W/D 5.8.7 PALIGNR Packed Align Right Source operand is appended after the destina...
View Full Document

This note was uploaded on 10/01/2013 for the course CPE 103 taught by Professor Watlins during the Winter '11 term at Mississippi State.

Ask a homework question - tutors are online