Volume 2A Instruction Set Reference A-M (794101), страница 5
Текст из файла (страница 5)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-658MOV—Move to/from Control Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-665MOV—Move to/from Debug Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 3-669MOVAPD—Move Aligned Packed Double-Precision Floating-Point Values . . . . . . . . . 3-671MOVAPS—Move Aligned Packed Single-Precision Floating-Point Values . . . . . . . . . . 3-674MOVBE—Move Data After Swapping Bytes . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-677MOVD/MOVQ—Move Doubleword/Move Quadword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-680MOVDDUP—Move One Double-FP and Duplicate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-684MOVDQA—Move Aligned Double Quadword. . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-687MOVDQU—Move Unaligned Double Quadword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-690viii Vol. 2ACONTENTSPAGEMOVDQ2Q—Move Quadword from XMM to MMX Technology Register. . . . .
. . . . . . 3-693MOVHLPS— Move Packed Single-Precision Floating-Point Values High to Low . . . 3-695MOVHPD—Move High Packed Double-Precision Floating-Point Value . . . . . . . . . . . . 3-697MOVHPS—Move High Packed Single-Precision Floating-Point Values . . . . . . . . . . . . 3-700MOVLHPS—Move Packed Single-Precision Floating-Point Values Low to High . . . . 3-703MOVLPD—Move Low Packed Double-Precision Floating-Point Value . . . . . . .
. . . . . . 3-705MOVLPS—Move Low Packed Single-Precision Floating-Point Values . . . . . . . . . . . . . 3-708MOVMSKPD—Extract Packed Double-Precision Floating-Point Sign Mask. . . . . . . . . 3-711MOVMSKPS—Extract Packed Single-Precision Floating-Point Sign Mask. . . . .
. . . . . 3-713MOVNTDQA — Load Double Quadword Non-Temporal Aligned Hint. . . . . . . . . . . . . . 3-715MOVNTDQ—Store Double Quadword Using Non-Temporal Hint . . . . . . . . . . . . . . . . . 3-718MOVNTI—Store Doubleword Using Non-Temporal Hint . . . . . . . . . . . . . . . . . . . . .
. . . . 3-721MOVNTPD—Store Packed Double-Precision Floating-Point Values Using Non-TemporalHint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-723MOVNTPS—Store Packed Single-Precision Floating-Point Values Using Non-TemporalHint . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-726MOVNTQ—Store of Quadword Using Non-Temporal Hint. . . . . . . . . . . . . . . . . . . . . . . . 3-729MOVQ—Move Quadword . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-732MOVQ2DQ—Move Quadword from MMX Technology to XMM Register. . . . . . . . . . . 3-735MOVS/MOVSB/MOVSW/MOVSD/MOVSQ—Move Data from String to String. . . . . . . 3-737MOVSD—Move Scalar Double-Precision Floating-Point Value . .
. . . . . . . . . . . . . . . . . . 3-742MOVSHDUP—Move Packed Single-FP High and Duplicate . . . . . . . . . . . . . . . . . . . . . . . 3-745MOVSLDUP—Move Packed Single-FP Low and Duplicate . . . . . . . . . . . . . . . . . . . . . . . . 3-748MOVSS—Move Scalar Single-Precision Floating-Point Values . . . . . . .
. . . . . . . . . . . . . 3-751MOVSX/MOVSXD—Move with Sign-Extension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-754MOVUPD—Move Unaligned Packed Double-Precision Floating-Point Values . . . . . . 3-757MOVUPS—Move Unaligned Packed Single-Precision Floating-Point Values . .
. . . . . 3-760MOVZX—Move with Zero-Extend. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-763MPSADBW — Compute Multiple Packed Sums of Absolute Difference . . . . . . . . . . . . 3-765MUL—Unsigned Multiply . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-769MULPD—Multiply Packed Double-Precision Floating-Point Values . . . . . . . . . . . . . . . . 3-772MULPS—Multiply Packed Single-Precision Floating-Point Values . . . . . . . .
. . . . . . . . . 3-775MULSD—Multiply Scalar Double-Precision Floating-Point Values . . . . . . . . . . . . . . . . . 3-778MULSS—Multiply Scalar Single-Precision Floating-Point Values . . . . . . . . . . . . . . . . . . 3-781MWAIT—Monitor Wait. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-784CHAPTER 4INSTRUCTION SET REFERENCE, N-Z4.1IMM8 CONTROL BYTE OPERATION FOR PCMPESTRI / PCMPESTRM / PCMPISTRI /PCMPISTRM 4-14.1.1General Description. . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-14.1.2Source Data Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-24.1.3Aggregation Operation . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-34.1.4Polarity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-44.1.5Output Selection . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-54.1.6Valid/Invalid Override of Comparisons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-54.1.7Summary of Im8 Control byte . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-6Vol. 2A ixCONTENTSPAGE4.1.84.2x Vol. 2ADiagram Comparison and Aggregation Process. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7INSTRUCTIONS (N-Z) . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7NEG—Two's Complement Negation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-8NOP—No Operation . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-11NOT—One's Complement Negation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-13OR—Logical Inclusive OR . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . 4-15ORPD—Bitwise Logical OR of Double-Precision Floating-Point Values . . . . . . . . . . . . . 4-18ORPS—Bitwise Logical OR of Single-Precision Floating-Point Values . . .
. . . . . . . . . . . 4-20OUT—Output to Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-22OUTS/OUTSB/OUTSW/OUTSD—Output String to Port . . . . . . . . . . . . . . . . . . . . . . . . . .
. . 4-25PABSB/PABSW/PABSD — Packed Absolute Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-31PACKSSWB/PACKSSDW—Pack with Signed Saturation . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-35PACKUSDW — Pack with Unsigned Saturation . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-40PACKUSWB—Pack with Unsigned Saturation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-43PADDB/PADDW/PADDD—Add Packed Integers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . 4-47PADDQ—Add Packed Quadword Integers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-51PADDSB/PADDSW—Add Packed Signed Integers with Signed Saturation . . . . . . . . . . 4-54PADDUSB/PADDUSW—Add Packed Unsigned Integers with Unsigned Saturation . . 4-58PALIGNR — Packed Align Right . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-62PAND—Logical AND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-65PANDN—Logical AND NOT . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-68PAUSE—Spin Loop Hint. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-71PAVGB/PAVGW—Average Packed Integers . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-73PBLENDVB — Variable Blend Packed Bytes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-77PBLENDW — Blend Packed Words . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 4-81PCMPEQB/PCMPEQW/PCMPEQD— Compare Packed Data for Equal. . . . . . . . . . . . . . . . 4-84PCMPEQQ — Compare Packed Qword Data for Equal . . . . . . . . . . . . . . . . . . . . . . . . . .