SSE_ALL-Store-XMM#
_mm_stream_pi#
- Tech:
SSE_ALL
- Category:
Store
- Header:
immintrin.h
- Searchable:
SSE_ALL-Store-XMM
- Register:
XMM 128 bit
- Return Type:
void
- Param Types:
void* mem_addr, __m64 a
- Param ETypes:
FP32 mem_addr, UI64 a
void _mm_stream_pi(void* mem_addr, __m64 a);
Intel Description
Store 64-bits of integer data from “a” into memory using a non-temporal memory hint.
Intel Implementation Psudeo-Code
MEM[mem_addr+63:mem_addr] := a[63:0]
_mm_maskmove_si64#
- Tech:
SSE_ALL
- Category:
Store
- Header:
immintrin.h
- Searchable:
SSE_ALL-Store-XMM
- Register:
XMM 128 bit
- Return Type:
void
- Param Types:
__m64 a, __m64 mask, char* mem_addr
- Param ETypes:
UI8 a, UI8 mask, UI8 mem_addr
void _mm_maskmove_si64(__m64 a, __m64 mask, char* mem_addr);
Intel Description
Conditionally store 8-bit integer elements from “a” into memory using “mask” (elements are not stored when the highest bit is not set in the corresponding element) and a non-temporal memory hint.
Intel Implementation Psudeo-Code
FOR j := 0 to 7
i := j*8
IF mask[i+7]
MEM[mem_addr+i+7:mem_addr+i] := a[i+7:i]
FI
ENDFOR
_mm_stream_ps#
- Tech:
SSE_ALL
- Category:
Store
- Header:
immintrin.h
- Searchable:
SSE_ALL-Store-XMM
- Register:
XMM 128 bit
- Return Type:
void
- Param Types:
void* mem_addr, __m128 a
- Param ETypes:
FP32 mem_addr, FP32 a
void _mm_stream_ps(void* mem_addr, __m128 a);
Intel Description
- Store 128-bits (composed of 4 packed single-precision (32-bit) floating-point elements) from “a” into memory using a non-temporal memory hint.
“mem_addr” must be aligned on a 16-byte boundary or a general-protection exception may be generated.
Intel Implementation Psudeo-Code
MEM[mem_addr+127:mem_addr] := a[127:0]
_mm_storeh_pi#
- Tech:
SSE_ALL
- Category:
Store
- Header:
immintrin.h
- Searchable:
SSE_ALL-Store-XMM
- Register:
XMM 128 bit
- Return Type:
void
- Param Types:
__m64* mem_addr, __m128 a
- Param ETypes:
FP32 mem_addr, FP32 a
void _mm_storeh_pi(__m64* mem_addr, __m128 a);
Intel Description
Store the upper 2 single-precision (32-bit) floating-point elements from “a” into memory.
Intel Implementation Psudeo-Code
MEM[mem_addr+31:mem_addr] := a[95:64]
MEM[mem_addr+63:mem_addr+32] := a[127:96]
_mm_storel_pi#
- Tech:
SSE_ALL
- Category:
Store
- Header:
immintrin.h
- Searchable:
SSE_ALL-Store-XMM
- Register:
XMM 128 bit
- Return Type:
void
- Param Types:
__m64* mem_addr, __m128 a
- Param ETypes:
FP32 mem_addr, FP32 a
void _mm_storel_pi(__m64* mem_addr, __m128 a);
Intel Description
Store the lower 2 single-precision (32-bit) floating-point elements from “a” into memory.
Intel Implementation Psudeo-Code
MEM[mem_addr+31:mem_addr] := a[31:0]
MEM[mem_addr+63:mem_addr+32] := a[63:32]
_mm_store_ss#
- Tech:
SSE_ALL
- Category:
Store
- Header:
immintrin.h
- Searchable:
SSE_ALL-Store-XMM
- Register:
XMM 128 bit
- Return Type:
void
- Param Types:
float* mem_addr, __m128 a
- Param ETypes:
FP32 mem_addr, FP32 a
void _mm_store_ss(float* mem_addr, __m128 a);
Intel Description
Store the lower single-precision (32-bit) floating-point element from “a” into memory. “mem_addr” does not need to be aligned on any particular boundary.
Intel Implementation Psudeo-Code
MEM[mem_addr+31:mem_addr] := a[31:0]
_mm_store1_ps#
- Tech:
SSE_ALL
- Category:
Store
- Header:
immintrin.h
- Searchable:
SSE_ALL-Store-XMM
- Register:
XMM 128 bit
- Return Type:
void
- Param Types:
float* mem_addr, __m128 a
- Param ETypes:
FP32 mem_addr, FP32 a
void _mm_store1_ps(float* mem_addr, __m128 a);
Intel Description
Store the lower single-precision (32-bit) floating-point element from “a” into 4 contiguous elements in memory. “mem_addr” must be aligned on a 16-byte boundary or a general-protection exception may be generated.
Intel Implementation Psudeo-Code
MEM[mem_addr+31:mem_addr] := a[31:0]
MEM[mem_addr+63:mem_addr+32] := a[31:0]
MEM[mem_addr+95:mem_addr+64] := a[31:0]
MEM[mem_addr+127:mem_addr+96] := a[31:0]
_mm_store_ps1#
- Tech:
SSE_ALL
- Category:
Store
- Header:
immintrin.h
- Searchable:
SSE_ALL-Store-XMM
- Register:
XMM 128 bit
- Return Type:
void
- Param Types:
float* mem_addr, __m128 a
- Param ETypes:
FP32 mem_addr, FP32 a
void _mm_store_ps1(float* mem_addr, __m128 a);
Intel Description
Store the lower single-precision (32-bit) floating-point element from “a” into 4 contiguous elements in memory. “mem_addr” must be aligned on a 16-byte boundary or a general-protection exception may be generated.
Intel Implementation Psudeo-Code
MEM[mem_addr+31:mem_addr] := a[31:0]
MEM[mem_addr+63:mem_addr+32] := a[31:0]
MEM[mem_addr+95:mem_addr+64] := a[31:0]
MEM[mem_addr+127:mem_addr+96] := a[31:0]
_mm_store_ps#
- Tech:
SSE_ALL
- Category:
Store
- Header:
immintrin.h
- Searchable:
SSE_ALL-Store-XMM
- Register:
XMM 128 bit
- Return Type:
void
- Param Types:
float* mem_addr, __m128 a
- Param ETypes:
FP32 mem_addr, FP32 a
void _mm_store_ps(float* mem_addr, __m128 a);
Intel Description
- Store 128-bits (composed of 4 packed single-precision (32-bit) floating-point elements) from “a” into memory.
“mem_addr” must be aligned on a 16-byte boundary or a general-protection exception may be generated.
Intel Implementation Psudeo-Code
MEM[mem_addr+127:mem_addr] := a[127:0]
_mm_storeu_ps#
- Tech:
SSE_ALL
- Category:
Store
- Header:
immintrin.h
- Searchable:
SSE_ALL-Store-XMM
- Register:
XMM 128 bit
- Return Type:
void
- Param Types:
float* mem_addr, __m128 a
- Param ETypes:
FP32 mem_addr, FP32 a
void _mm_storeu_ps(float* mem_addr, __m128 a);
Intel Description
- Store 128-bits (composed of 4 packed single-precision (32-bit) floating-point elements) from “a” into memory.
“mem_addr” does not need to be aligned on any particular boundary.
Intel Implementation Psudeo-Code
MEM[mem_addr+127:mem_addr] := a[127:0]
_mm_storer_ps#
- Tech:
SSE_ALL
- Category:
Store
- Header:
immintrin.h
- Searchable:
SSE_ALL-Store-XMM
- Register:
XMM 128 bit
- Return Type:
void
- Param Types:
float* mem_addr, __m128 a
- Param ETypes:
FP32 mem_addr, FP32 a
void _mm_storer_ps(float* mem_addr, __m128 a);
Intel Description
- Store 4 single-precision (32-bit) floating-point elements from “a” into memory in reverse order.
“mem_addr” must be aligned on a 16-byte boundary or a general-protection exception may be generated.
Intel Implementation Psudeo-Code
MEM[mem_addr+31:mem_addr] := a[127:96]
MEM[mem_addr+63:mem_addr+32] := a[95:64]
MEM[mem_addr+95:mem_addr+64] := a[63:32]
MEM[mem_addr+127:mem_addr+96] := a[31:0]
_mm_storeu_si16#
- Tech:
SSE_ALL
- Category:
Store
- Header:
immintrin.h
- Searchable:
SSE_ALL-Store-XMM
- Register:
XMM 128 bit
- Return Type:
void
- Param Types:
void* mem_addr, __m128i a
- Param ETypes:
UI16 mem_addr, UI16 a
void _mm_storeu_si16(void* mem_addr, __m128i a);
Intel Description
Store 16-bit integer from the first element of “a” into memory. “mem_addr” does not need to be aligned on any particular boundary.
Intel Implementation Psudeo-Code
MEM[mem_addr+15:mem_addr] := a[15:0]
_mm_storeu_si64#
- Tech:
SSE_ALL
- Category:
Store
- Header:
immintrin.h
- Searchable:
SSE_ALL-Store-XMM
- Register:
XMM 128 bit
- Return Type:
void
- Param Types:
void* mem_addr, __m128i a
- Param ETypes:
UI64 mem_addr, UI64 a
void _mm_storeu_si64(void* mem_addr, __m128i a);
Intel Description
Store 64-bit integer from the first element of “a” into memory. “mem_addr” does not need to be aligned on any particular boundary.
Intel Implementation Psudeo-Code
MEM[mem_addr+63:mem_addr] := a[63:0]
_mm_storeu_si32#
- Tech:
SSE_ALL
- Category:
Store
- Header:
emmintrin.h
- Searchable:
SSE_ALL-Store-XMM
- Register:
XMM 128 bit
- Return Type:
void
- Param Types:
void* mem_addr, __m128i a
- Param ETypes:
UI32 mem_addr, UI32 a
void _mm_storeu_si32(void* mem_addr, __m128i a);
Intel Description
Store 32-bit integer from the first element of “a” into memory. “mem_addr” does not need to be aligned on any particular boundary.
Intel Implementation Psudeo-Code
MEM[mem_addr+31:mem_addr] := a[31:0]
_mm_maskmoveu_si128#
- Tech:
SSE_ALL
- Category:
Store
- Header:
emmintrin.h
- Searchable:
SSE_ALL-Store-XMM
- Register:
XMM 128 bit
- Return Type:
void
- Param Types:
__m128i a, __m128i mask, char* mem_addr
- Param ETypes:
UI8 a, UI8 mask, UI8 mem_addr
void _mm_maskmoveu_si128(__m128i a, __m128i mask,
char* mem_addr)
Intel Description
Conditionally store 8-bit integer elements from “a” into memory using “mask” (elements are not stored when the highest bit is not set in the corresponding element) and a non-temporal memory hint. “mem_addr” does not need to be aligned on any particular boundary.
Intel Implementation Psudeo-Code
FOR j := 0 to 15
i := j*8
IF mask[i+7]
MEM[mem_addr+i+7:mem_addr+i] := a[i+7:i]
FI
ENDFOR
_mm_store_si128#
- Tech:
SSE_ALL
- Category:
Store
- Header:
emmintrin.h
- Searchable:
SSE_ALL-Store-XMM
- Register:
XMM 128 bit
- Return Type:
void
- Param Types:
__m128i* mem_addr, __m128i a
- Param ETypes:
M128 mem_addr, M128 a
void _mm_store_si128(__m128i* mem_addr, __m128i a);
Intel Description
- Store 128-bits of integer data from “a” into memory.
“mem_addr” must be aligned on a 16-byte boundary or a general-protection exception may be generated.
Intel Implementation Psudeo-Code
MEM[mem_addr+127:mem_addr] := a[127:0]
_mm_storeu_si128#
- Tech:
SSE_ALL
- Category:
Store
- Header:
emmintrin.h
- Searchable:
SSE_ALL-Store-XMM
- Register:
XMM 128 bit
- Return Type:
void
- Param Types:
__m128i* mem_addr, __m128i a
- Param ETypes:
M128 mem_addr, M128 a
void _mm_storeu_si128(__m128i* mem_addr, __m128i a);
Intel Description
- Store 128-bits of integer data from “a” into memory.
“mem_addr” does not need to be aligned on any particular boundary.
Intel Implementation Psudeo-Code
MEM[mem_addr+127:mem_addr] := a[127:0]
_mm_storel_epi64#
- Tech:
SSE_ALL
- Category:
Store
- Header:
emmintrin.h
- Searchable:
SSE_ALL-Store-XMM
- Register:
XMM 128 bit
- Return Type:
void
- Param Types:
__m128i* mem_addr, __m128i a
- Param ETypes:
UI64 mem_addr, UI64 a
void _mm_storel_epi64(__m128i* mem_addr, __m128i a);
Intel Description
Store 64-bit integer from the first element of “a” into memory.
Intel Implementation Psudeo-Code
MEM[mem_addr+63:mem_addr] := a[63:0]
_mm_stream_si128#
- Tech:
SSE_ALL
- Category:
Store
- Header:
emmintrin.h
- Searchable:
SSE_ALL-Store-XMM
- Register:
XMM 128 bit
- Return Type:
void
- Param Types:
void* mem_addr, __m128i a
- Param ETypes:
M128 mem_addr, M128 a
void _mm_stream_si128(void* mem_addr, __m128i a);
Intel Description
- Store 128-bits of integer data from “a” into memory using a non-temporal memory hint.
“mem_addr” must be aligned on a 16-byte boundary or a general-protection exception may be generated.
Intel Implementation Psudeo-Code
MEM[mem_addr+127:mem_addr] := a[127:0]
_mm_stream_si32#
- Tech:
SSE_ALL
- Category:
Store
- Header:
emmintrin.h
- Searchable:
SSE_ALL-Store-XMM
- Register:
XMM 128 bit
- Return Type:
void
- Param Types:
void* mem_addr, int a
- Param ETypes:
UI32 mem_addr, UI32 a
void _mm_stream_si32(void* mem_addr, int a);
Intel Description
Store 32-bit integer “a” into memory using a non-temporal hint to minimize cache pollution. If the cache line containing address “mem_addr” is already in the cache, the cache will be updated.
Intel Implementation Psudeo-Code
MEM[mem_addr+31:mem_addr] := a[31:0]
_mm_stream_si64#
- Tech:
SSE_ALL
- Category:
Store
- Header:
emmintrin.h
- Searchable:
SSE_ALL-Store-XMM
- Register:
XMM 128 bit
- Return Type:
void
- Param Types:
void* mem_addr, __int64 a
- Param ETypes:
UI64 mem_addr, UI64 a
void _mm_stream_si64(void* mem_addr, __int64 a);
Intel Description
Store 64-bit integer “a” into memory using a non-temporal hint to minimize cache pollution. If the cache line containing address “mem_addr” is already in the cache, the cache will be updated.
Intel Implementation Psudeo-Code
MEM[mem_addr+63:mem_addr] := a[63:0]
_mm_stream_pd#
- Tech:
SSE_ALL
- Category:
Store
- Header:
emmintrin.h
- Searchable:
SSE_ALL-Store-XMM
- Register:
XMM 128 bit
- Return Type:
void
- Param Types:
void* mem_addr, __m128d a
- Param ETypes:
FP64 mem_addr, FP64 a
void _mm_stream_pd(void* mem_addr, __m128d a);
Intel Description
- Store 128-bits (composed of 2 packed double-precision (64-bit) floating-point elements) from “a” into memory using a non-temporal memory hint.
“mem_addr” must be aligned on a 16-byte boundary or a general-protection exception may be generated.
Intel Implementation Psudeo-Code
MEM[mem_addr+127:mem_addr] := a[127:0]
_mm_store_sd#
- Tech:
SSE_ALL
- Category:
Store
- Header:
emmintrin.h
- Searchable:
SSE_ALL-Store-XMM
- Register:
XMM 128 bit
- Return Type:
void
- Param Types:
double* mem_addr, __m128d a
- Param ETypes:
FP64 mem_addr, FP64 a
void _mm_store_sd(double* mem_addr, __m128d a);
Intel Description
Store the lower double-precision (64-bit) floating-point element from “a” into memory. “mem_addr” does not need to be aligned on any particular boundary.
Intel Implementation Psudeo-Code
MEM[mem_addr+63:mem_addr] := a[63:0]
_mm_store1_pd#
- Tech:
SSE_ALL
- Category:
Store
- Header:
emmintrin.h
- Searchable:
SSE_ALL-Store-XMM
- Register:
XMM 128 bit
- Return Type:
void
- Param Types:
double* mem_addr, __m128d a
- Param ETypes:
FP64 mem_addr, FP64 a
void _mm_store1_pd(double* mem_addr, __m128d a);
Intel Description
Store the lower double-precision (64-bit) floating-point element from “a” into 2 contiguous elements in memory. “mem_addr” must be aligned on a 16-byte boundary or a general-protection exception may be generated.
Intel Implementation Psudeo-Code
MEM[mem_addr+63:mem_addr] := a[63:0]
MEM[mem_addr+127:mem_addr+64] := a[63:0]
_mm_store_pd1#
- Tech:
SSE_ALL
- Category:
Store
- Header:
emmintrin.h
- Searchable:
SSE_ALL-Store-XMM
- Register:
XMM 128 bit
- Return Type:
void
- Param Types:
double* mem_addr, __m128d a
- Param ETypes:
FP64 mem_addr, FP64 a
void _mm_store_pd1(double* mem_addr, __m128d a);
Intel Description
Store the lower double-precision (64-bit) floating-point element from “a” into 2 contiguous elements in memory. “mem_addr” must be aligned on a 16-byte boundary or a general-protection exception may be generated.
Intel Implementation Psudeo-Code
MEM[mem_addr+63:mem_addr] := a[63:0]
MEM[mem_addr+127:mem_addr+64] := a[63:0]
_mm_store_pd#
- Tech:
SSE_ALL
- Category:
Store
- Header:
emmintrin.h
- Searchable:
SSE_ALL-Store-XMM
- Register:
XMM 128 bit
- Return Type:
void
- Param Types:
double* mem_addr, __m128d a
- Param ETypes:
FP64 mem_addr, FP64 a
void _mm_store_pd(double* mem_addr, __m128d a);
Intel Description
- Store 128-bits (composed of 2 packed double-precision (64-bit) floating-point elements) from “a” into memory.
“mem_addr” must be aligned on a 16-byte boundary or a general-protection exception may be generated.
Intel Implementation Psudeo-Code
MEM[mem_addr+127:mem_addr] := a[127:0]
_mm_storeu_pd#
- Tech:
SSE_ALL
- Category:
Store
- Header:
emmintrin.h
- Searchable:
SSE_ALL-Store-XMM
- Register:
XMM 128 bit
- Return Type:
void
- Param Types:
double* mem_addr, __m128d a
- Param ETypes:
FP64 mem_addr, FP64 a
void _mm_storeu_pd(double* mem_addr, __m128d a);
Intel Description
- Store 128-bits (composed of 2 packed double-precision (64-bit) floating-point elements) from “a” into memory.
“mem_addr” does not need to be aligned on any particular boundary.
Intel Implementation Psudeo-Code
MEM[mem_addr+127:mem_addr] := a[127:0]
_mm_storer_pd#
- Tech:
SSE_ALL
- Category:
Store
- Header:
emmintrin.h
- Searchable:
SSE_ALL-Store-XMM
- Register:
XMM 128 bit
- Return Type:
void
- Param Types:
double* mem_addr, __m128d a
- Param ETypes:
FP64 mem_addr, FP64 a
void _mm_storer_pd(double* mem_addr, __m128d a);
Intel Description
- Store 2 double-precision (64-bit) floating-point elements from “a” into memory in reverse order.
“mem_addr” must be aligned on a 16-byte boundary or a general-protection exception may be generated.
Intel Implementation Psudeo-Code
MEM[mem_addr+63:mem_addr] := a[127:64]
MEM[mem_addr+127:mem_addr+64] := a[63:0]
_mm_storeh_pd#
- Tech:
SSE_ALL
- Category:
Store
- Header:
emmintrin.h
- Searchable:
SSE_ALL-Store-XMM
- Register:
XMM 128 bit
- Return Type:
void
- Param Types:
double* mem_addr, __m128d a
- Param ETypes:
FP64 mem_addr, FP64 a
void _mm_storeh_pd(double* mem_addr, __m128d a);
Intel Description
Store the upper double-precision (64-bit) floating-point element from “a” into memory.
Intel Implementation Psudeo-Code
MEM[mem_addr+63:mem_addr] := a[127:64]
_mm_storel_pd#
- Tech:
SSE_ALL
- Category:
Store
- Header:
emmintrin.h
- Searchable:
SSE_ALL-Store-XMM
- Register:
XMM 128 bit
- Return Type:
void
- Param Types:
double* mem_addr, __m128d a
- Param ETypes:
FP64 mem_addr, FP64 a
void _mm_storel_pd(double* mem_addr, __m128d a);
Intel Description
Store the lower double-precision (64-bit) floating-point element from “a” into memory.
Intel Implementation Psudeo-Code
MEM[mem_addr+63:mem_addr] := a[63:0]