Unformatted text preview: . For more detail on these instructions, see Chapter 9, "Programming with Intel MMXTM Technology." MMX instructions can only be executed on Intel 64 and IA-32 processors that support the MMX technology. Support for these instructions can be detected with the CPUID instruction. See the description of the CPUID instruction in Chapter 3, "Instruction Set Reference, A-M," of the Intel 64 and IA-32 Architectures Software Developer's Manual, Volume 2A. MMX instructions are divided into the following subgroups: data transfer, conversion, packed arithmetic, comparison, logical, shift and rotate, and state management instructions. The sections that follow introduce each subgroup. 5.4.1 MMX Data Transfer Instructions The data transfer instructions move doubleword and quadword operands between MMX registers and between MMX registers and memory. MOVD MOVQ Move doubleword Move quadword 5.4.2
PACKSSWB PACKSSDW PACKUSWB MMX Conversion Instructions
Pack words into bytes with signed saturation Pack doublewords into words with signed saturation Pack words into bytes with unsigned saturation. Unpack high-order bytes The conversion instructions pack and unpack bytes, words, and doublewords PUNPCKHBW 5-14 Vol. 1 INSTRUCTION SET SUMMARY PUNPCKHWD PUNPCKHDQ PUNPCKLBW PUNPCKLWD PUNPCKLDQ Unpack high-order words Unpack high-order doublewords Unpack low-order bytes Unpack low-order words Unpack low-order doublewords 5.4.3 MMX Packed Arithmetic Instructions The packed arithmetic instructions perform packed integer arithmetic on packed byte, word, and doubleword integers. PADDB PADDW PADDD PADDSB PADDSW PADDUSB PADDUSW PSUBB PSUBW PSUBD PSUBSB PSUBSW PSUBUSB PSUBUSW PMULHW PMULLW PMADDWD Add packed byte integers Add packed word integers Add packed doubleword integers Add packed signed byte integers with signed saturation Add packed signed word integers with signed saturation Add packed unsigned byte integers with unsigned saturation Add packed unsigned word integers with unsigned saturation Subtract packed byte integers Subtract packed word integers Subtract packed doubleword integers Subtract packed signed byte integers with signed saturation Subtract packed signed word integers with signed saturation Subtract packed unsigned byte integers with unsigned saturation Subtract packed unsigned word integers with unsigned saturation Multiply packed signed word integers and store high result Multiply packed signed word integers and store low result Multiply and add packed word integers 5.4.4
PCMPEQB PCMPEQW PCMPEQD PCMPGTB PCMPGTW PCMPGTD MMX Comparison Instructions
Compare packed bytes for equal Compare packed words for equal Compare packed doublewords for equal Compare packed signed byte integers for greater than Compare packed signed word integers for greater than Compare packed signed doubleword integers for greater than The compare instructions compare packed bytes, words, or doublewords. Vol. 1 5-15 INSTRUCTION SET SUMMARY 5.4.5 MMX Logical Instructions Th...
View Full Document
- Winter '11
- X86, Intel corporation, 64-bit mode, fpu floating-point exception, FPU Control Instructions