Intel ARCHITECTURE IA-32 User Manual Page 226

  • Download
  • Add to my manuals
  • Print
  • Page
    / 568
  • Table of contents
  • BOOKMARKS
  • Rated. / 5. Based on customer reviews
Page view 225
IA-32 Intel® Architecture Optimization
4-6
Data Alignment
Make sure that 64-bit SIMD integer data is 8-byte aligned and that
128-bit SIMD integer data is 16-byte aligned. Referencing unaligned
64-bit SIMD integer data can incur a performance penalty due to
accesses that span 2 cache lines. Referencing unaligned 128-bit SIMD
integer data will result in an exception unless the
movdqu (move
double-quadword unaligned) instruction is used. Using the
movdqu
instruction on unaligned data can result in lower performance than using
16-byte aligned references.
Refer to “Stack and Data Alignment” in Chapter 3 for more
information.
Data Movement Coding Techniques
In general, better performance can be achieved if the data is
pre-arranged for SIMD computation (see “Improving Memory
Utilization” in Chapter 3). However, this may not always be possible.
This section covers techniques for gathering and re-arranging data for
more efficient SIMD computation.
Unsigned Unpack
The MMX technology provides several instructions that are used to
pack and unpack data in the MMX registers. The unpack instructions
can be used to zero-extend an unsigned number. Example 4-2 assumes
the source is a packed-word (16-bit) data type.
Page view 225
1 2 ... 221 222 223 224 225 226 227 228 229 230 231 ... 567 568

Comments to this Manuals

No comments