Typy danych
SSE2 wykorzystuje typy danych zdefiniowane w MMX plus SSE, definiuje podobnie nieco nowych typów danych: w większości wektorów o określonych rozmiarach.
Typy zmiennoprzecinkowe:
- wektor 2 liczb zmiennoprzecinkowych podwójnej precyzji (2 x 64 bity)
- wektor 4 liczb zmiennoprzecinkowych pojedynczej precyzji (4 x 32 bity; wprowadzony w SSE)
Typy całkowite (rozszerzenia typów MMX):
- wektor 16 bajtów - packed byte (16 x 8 bitów)
- wektor 8 słów - packed word (8 x 16 bitów)
- wektor 4 podwójnych słów - packed duble words (4 x 32 bity)
- wektor 2 poczwórnych słów - packed quad words (2 x 64 bity)
- liczba 128-bitowa - long quadword
Analogicznie jako w SSE, rozkazy SSE2 mogą wykonywać działania arytmetyczne na wektorach liczb zmiennoprzecinkowych podwójnej precyzji na dwa sposoby:
- packed (równoległe) — wykonując równocześnie dwa niezależne działania zmiennoprzecinkowe na odpowiadających sobie elementach wektorów;
- scalar (skalarne) — wykonując obsługiwanie ledwo na pierwszych elementach wektorów.
[bity] rozmiar elementu
[bity] wartość elementów wektora Uwagi Liczby zmiennoprzecinkowe 128 64 2 SSE2, liczby podwójnej precyzji 128 32 4 SSE, liczby pojedynczej precyzji Liczby całkowite (ze znakiem czyli bez) 128 128 1 SSE2, całe księga 128 64 2 SSE2, packed quad word 128 32 4 SSE2, packed double word 128 16 8 SSE2, packed word 128 8 16 SSE2, packed byte 64 64 1 MMX, quad word 64 32 2 MMX, packed double word 64 16 4 MMX, packed word 64 8 8 MMX, packed byte