_mm_stream_ss
Section spécifique à Microsoft
Écrit des données 32 bits dans un emplacement mémoire sans polluer les caches.
Syntaxe
void _mm_stream_ss(
float * Destination,
__m128 Source
);
Paramètres
Destination
[out] Pointeur vers l’emplacement où les données sources sont écrites.
Source
[in] Nombre 128 bits qui contient la float
valeur à écrire dans ses 32 bits inférieurs.
Valeur retournée
Aucune.
Spécifications
Intrinsic | Architecture |
---|---|
_mm_stream_ss |
SSE4a |
Fichier<d’en-tête intrin.h>
Notes
L’intrinsèque génère l’instruction movntss
. 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 lorsque l’instruction est prise en charge et 0 sinon.
Si vous exécutez du code qui utilise l’intrinsèque sur le _mm_stream_ss
matériel qui ne prend pas en charge l’instruction movntss
, les résultats sont imprévisibles.
Exemple
// Compile this sample with: /EHsc
#include <iostream>
#include <intrin.h>
using namespace std;
int main()
{
__m128 vals;
float f[4];
f[0] = -1.;
f[1] = -2.;
f[2] = -3.;
f[3] = -4.;
vals.m128_f32[0] = 0.;
vals.m128_f32[1] = 1.;
vals.m128_f32[2] = 2.;
vals.m128_f32[3] = 3.;
_mm_stream_ss(&f[3], vals);
cout << "f[0] = " << f[0] << ", f[1] = " << f[1] << endl;
cout << "f[2] = " << f[2] << ", f[3] = " << f[3] << endl;
}
f[0] = -1, f[1] = -2
f[2] = -3, f[3] = 3
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.
Voir aussi
_mm_stream_sd
_mm_stream_ps
_mm_store_ss
_mm_sfence
Intrinsèques du compilateur