This preview shows page 1. Sign up to view the full content.
Unformatted text preview: ted 16bit results to the destination operand. Adds two adjacent, signed 32bit integers horizontally from the source and destination operands and packs the signed 32bit results to the destination operand. Performs horizontal subtraction on each adjacent pair of 16bit signed integers by subtracting the most significant word from the least significant word of each pair in the source and destination operands. The signed 16bit results are packed and written to the destination operand. Performs horizontal subtraction on each adjacent pair of 16bit 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 528 Vol. 1 INSTRUCTION SET SUMMARY tion operands. The signed, saturated 16bit results are packed and written to the destination operand. PHSUBD Performs horizontal subtraction on each adjacent pair of 32bit 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 32bit 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 16bit data element. Computes the absolute value of each signed 32bit 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, 16bit signed integer. Each adjacent pair of 16bit signed values are added horizontally. The signed, saturated 16bit results are packed to the destination operand. PMADDUBSW 5.8.4
PMULHRSW Packed Multiply High with Round and Scale
Multiplies vertically each signed 16bit integer from the destination operand with the corresponding signed 16bit integer of the source operand, producing intermediate, signed 32bit integers. Each intermediate 32bit integer is truncated to the 18 most significant bits. Rounding is always performed by adding 1 to the least significant bit of the 18bit intermediate result. The final result is obtained by selecting the 16 bits immediately to the right of the most significant bit of each 18bit 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 529 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.
 Winter '11
 Watlins

Click to edit the document details