_mm_stream_sd
Section spécifique à Microsoft
Écrit des données 64 bits dans un emplacement mémoire sans polluer les caches.
void _mm_stream_sd(
double * Dest,
__m128d Source
);
Dest
[out] Pointeur vers l’emplacement où les données sources seront écrites.
Source
[in] Valeur 128 bits contenant la double
valeur à écrire dans ses 64 bits inférieurs.
Aucune.
Intrinsic | Architecture |
---|---|
_mm_stream_sd |
SSE4a |
Fichier<d’en-tête intrin.h>
L’intrinsèque génère l’instruction movntsd
. Pour déterminer la prise en charge matérielle de cette instruction, appelez l’intrinsèque __cpuid
avec InfoType=0x80000001
et vérifiez le bit 6 de CPUInfo[2] (ECX)
. Ce bit est 1 si le matériel prend en charge cette instruction et 0 sinon.
Si vous exécutez du code qui utilise l’intrinsèque sur le _mm_stream_sd
matériel qui ne prend pas en charge l’instruction movntsd
, les résultats sont imprévisibles.
// Compile this sample with: /EHsc
#include <iostream>
#include <intrin.h>
using namespace std;
int main()
{
__m128d vals;
double d[2];
d[0] = -1.;
d[1] = -2.;
vals.m128d_f64[0] = 0.;
vals.m128d_f64[1] = 1.;
_mm_stream_sd(&d[1], vals);
cout << "d[0] = " << d[0] << ", d[1] = " << d[1] << endl;
}
d[0] = -1, d[1] = 1
FIN de la section spécifique à Microsoft
Portions Copyright 2007 by Advanced Micro Devices, Inc. Tous les droits réservés. Reproduit avec l’autorisation d’Advanced Micro Devices, Inc.
_mm_stream_ss
_mm_store_sd
_mm_sfence
Intrinsèques du compilateur