Partager via


Opérations de chargement (SSE2 intrinsèques à virgule flottante)

[Cette documentation constitue un aperçu et peut faire l'objet de modifications avec les versions ultérieures. Blank topics are included as placeholders.]

Spécifique à Microsoft

Pour plus d'informations sur la syntaxe utilisée dans les exemples de code dans cette rubrique, consultez l' Intrinsèques à virgule flottante utilisation des extensions Streaming SIMD.

Les intrinsèques SSE2 utilisent __m128, __m128i, et les types de données de __m128d , qui ne sont pas pris en charge sur les processeurs (IPF) de la famille de processeurs Itanium. Aucune SSE2 intrinsèque qui utilisent le type de données de __m64 n'est prise en charge sur les processeurs de x64 .

Le fichier d'en-tête emmintrin.h contient des déclarations pour les fonctions intrinsèques de l'instruction SSE2.

__m128d _mm_load_pd (double *p);

            MOVAPD
          

Charge deux double précision, valeurs à virgule flottante. l'adresse p doit être l'octet 16 aligné.

r0 := p[0]
r1 := p[1]

__m128d _mm_load1_pd (double *p);

            (MOVSD + shuffling)
          

Charge une double précision unique, valeur à virgule flottante, en copiant aux deux éléments. l'adresse p n'a pas besoin d'être l'octet 16 aligné.

r0 := *p
r1 := *p

__m128d _mm_loadr_pd (double *p);

            (MOVAPD + shuffling)
          

Charge deux double précision, valeurs à virgule flottante dans l'ordre inverse. l'adresse p doit être l'octet 16 aligné.

r0 := p[1]
r1 := p[0]

__m128d _mm_loadu_pd (double *p);

            MOVUPD
          

Charge deux double précision, valeurs à virgule flottante. l'adresse p n'a pas besoin d'être l'octet 16 aligné.

r0 := p[0]
r1 := p[1]

__m128d _mm_load_sd (double *p);

            MOVSD
          

charge une double précision, valeur à virgule flottante. la double précision supérieure, virgule flottante est définie à zéro. l'adresse p n'a pas besoin d'être l'octet 16 aligné.

r0 := *p
r1 := 0.0

__m128d _mm_loadh_pd (__m128d a, double *p);

            MOVHPD
          

Charge une double précision, la valeur à virgule flottante en double précision supérieure, valeur à virgule flottante du résultat. la double précision inférieure, valeur à virgule flottante est passée d' a. l'adresse p n'a pas besoin d'être l'octet 16 aligné.

r0 := a0
r1 := *p

__m128d _mm_loadl_pd (__m128d a, double *p);

            MOVLPD
          

Charge une double précision, la valeur à virgule flottante en double précision inférieure, valeur à virgule flottante du résultat. la double précision supérieure, valeur à virgule flottante est passée d' a. l'adresse p n'a pas besoin d'être l'octet 16 aligné.

r0 := *p
r1 := a1

Voir aussi

Référence

Opérations en virgule flottante de mémoire et d'initialisation avec les extensions Streaming SIMD 2