Using Mmx Technology Code For Copy Or Shuffling Functions - Intel ARCHITECTURE IA-32 Reference Manual

Architecture optimization
Table of Contents

Advertisement

Example 5-7
Deswizzling Data 64-bit Integer SIMD Data (continued)
movq
movq
punpckhdq
punpckldq
movq [edx], mm2
movq [edx+8], mm0
movq mm4, [ebx+8]
movq mm5, [ebx+24]
movq mm6, mm4
punpckhdq mm4, mm5
punpckldq mm6, mm5
movq [edx+16], mm6
movq [edx+24], mm4
}
Using MMX Technology Code for Copy or Shuffling
Functions
If there are some parts in the code that are mainly copying, shuffling, or
doing logical manipulations that do not require use of SSE code,
consider performing these actions with MMX technology code. For
example, if texture data is stored in memory as SoA (
they need only to be deswizzled into AoS layout (
cards to process, you can use either the SSE or MMX technology code.
Using the MMX instructions allow you to conserve XMM registers for
other computational tasks.
Optimizing for SIMD Floating-point Applications
mm1, [ebx+16]
mm2, mm0
mm0, mm1
mm2, mm1
// mm1= v1 v2
// mm2= u1 u2
// mm0= u1 v1
// mm0= u2 v2
// store u1 v1
// store u2 v2
// mm0= u3 u4
// mm1= v3 v4
// mm2= u3 u4
// mm0= u3 v3
// mm0= u4 v4
// store u3v3
// store u4v4
uv
5
,
) and
uuuu
vvvv
) for the graphic
5-17

Advertisement

Table of Contents
loading

Table of Contents