Figure 5-4 Asymmetric Arithmetic Operation of the SSE3 Instruction
Figure 5-5 Horizontal Arithmetic Operation of the SSE3 Instruction HADDPD
SSE3 and Complex Arithmetics
The flexibility of SSE3 in dealing with AOS-type of data structure can
be demonstrated by the example of multiplication and division of
complex numbers. For example, a complex number can be stored in a
structure consisting of its real and imaginary part. This naturally leads to
the use of an array of structure. Example 5-11 demonstrates using SSE3
Optimizing for SIMD Floating-point Applications
X1
Y1
ADD
X1 + Y1
X1
Y1
ADD
Y0 + Y1
X0
Y0
SUB
X0 -Y0
X0
Y0
ADD
X0 + X1
5
5-23