Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб2012 / 253665.pdf
Скачиваний:
46
Добавлен:
02.02.2015
Размер:
3.31 Mб
Скачать

DATA TYPES

4.6PACKED SIMD DATA TYPES

Intel 64 and IA-32 architectures define and operate on a set of 64-bit and 128-bit packed data type for use in SIMD operations. These data types consist of fundamental data types (packed bytes, words, doublewords, and quadwords) and numeric interpretations of fundamental types for use in packed integer and packed floatingpoint operations.

4.6.164-Bit SIMD Packed Data Types

The 64-bit packed SIMD data types were introduced into the IA-32 architecture in the Intel MMX technology. They are operated on in MMX registers. The fundamental 64-bit packed data types are packed bytes, packed words, and packed doublewords (see Figure 4-7). When performing numeric SIMD operations on these data types, these data types are interpreted as containing byte, word, or doubleword integer values.

Fundamental 64-Bit Packed SIMD Data Types

 

 

 

 

 

 

 

 

Packed Bytes

 

 

 

 

 

 

 

 

 

63

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

Packed Words

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

63

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

Packed Doublewords

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

63

 

 

 

 

 

 

0

 

64-Bit Packed Integer Data Types

 

 

 

 

 

 

 

 

 

 

Packed Byte Integers

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

63

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

Packed Word Integers

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

63

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

Packed Doubleword Integers

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

63

 

 

 

 

 

 

0

 

Figure 4-7. 64-Bit Packed SIMD Data Types

4-10 Vol. 1

DATA TYPES

4.6.2128-Bit Packed SIMD Data Types

The 128-bit packed SIMD data types were introduced into the IA-32 architecture in the SSE extensions and used with SSE2, SSE3 and SSSE3 extensions. They are operated on primarily in the 128-bit XMM registers and memory. The fundamental 128-bit packed data types are packed bytes, packed words, packed doublewords, and packed quadwords (see Figure 4-8). When performing SIMD operations on these fundamental data types in XMM registers, these data types are interpreted as containing packed or scalar single-precision floating-point or double-precision floating-point values, or as containing packed byte, word, doubleword, or quadword integer values.

 

 

 

Fundamental 128-Bit Packed SIMD Data Types

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Packed Bytes

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

127

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Packed Words

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

127

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Packed Doublewords

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

127

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Packed Quadwords

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

127

0

 

 

 

128-Bit Packed Floating-Point and Integer Data Types

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Packed Single Precision

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Floating Point

127

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Packed Double Precision

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Floating Point

127

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Packed Byte Integers

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

127

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Packed Word Integers

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

127

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Packed Doubleword Integers

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

127

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Packed Quadword Integers

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

127

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Figure 4-8. 128-Bit Packed SIMD Data Types

Vol. 1 4-11

Соседние файлы в папке Лаб2012