_mm_stream_ss
Spécifique à Microsoft
Écrit des données 32 bits à un emplacement mémoire sans polluer les caches.
void _mm_stream_ss(
float * Dest,
__m128 Source
);
Paramètres
[out] Dest
Pointeur vers l'emplacement où les données sources sont écrites.[in] Source
Un nombre de bits qui contient la valeur de float à écrire dans ses bits du bas 32.
Valeur de retour
Aucun
Configuration requise
Intrinsèque |
Architecture |
---|---|
_mm_stream_ss |
SSE4a |
Fichier d'en-tête <intrin.h>
Notes
Cette intrinsèque génère des instructions d' movntss. Pour déterminer la prise en charge matérielle pour cette instruction, appelez l'intrinsèque de __cpuid avec InfoType=0x80000001et le bit de contrôle 6 d' CPUInfo[2] (ECX). Ce bit est égal à 1 lorsque l'instruction est prise en charge, sinon il est égal à 0.
Si vous exécutez le code qui utilise l'intrinsèque de _mm_stream_ss sur le matériel qui ne prend pas en charge l'instruction d' 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[1] = " << f[1] << ", f[3] = " << f[3] << endl;
}
TERMINEZ le détail de Microsoft
Copyright 2007 par Advanced Micro Devices, Inc tous droits réservés. Reproduit avec l'autorisation d'Advanced Micro Devices, Inc