Intel 64 and IA-32 Architectures Software Developers Manual Volume 1, Basic Architecture
Vol. 1 12-3
PROGRAMMING WITH SSE3 AND SUPPLEMENTAL SSE3
12.2 OVERVIEW OF SSE3 INSTRUCTIONS
SSE3 extensions include 13 instructions. See:
• Section 12.3, “SSE3 Instructions,” provides an introduction to individual SSE3
instructions.
• Intel® 64 and IA-32 Architectures Software Developer’s Manual, Volumes
2A & 2B, provide detailed information on individual instructions.
• Chapter 12, “System Programming for Streaming SIMD Instruction Sets,” in the
Intel® 64 and IA-32 Architectures Software Developer’s Manual, Volume 3A,
gives guidelines for integrating SSE/SSE2/SSE3 extensions into an operating-
system environment.
12.3 SSE3 INSTRUCTIONS
SSE3 instructions are grouped as follows:
• x87 FPU instruction
— One instruction that improves x87 FPU floating-point to integer conversion
• SIMD integer instruction
— One instruction that provides a specialized 128-bit unaligned data load
• SIMD floating-point instructions
— Three instructions that enhance LOAD/MOVE/DUPLICATE performance
— Two instructions that provide packed addition/subtraction
— Four instructions that provide horizontal addition/subtraction
Figure 12-2. Horizontal Data Movement in HADDPD
X1 X0
Y0 + Y1 X0 + X1
ADD
Y1 Y0
ADD