File tree Expand file tree Collapse file tree 1 file changed +10
-1
lines changed Expand file tree Collapse file tree 1 file changed +10
-1
lines changed Original file line number Diff line number Diff line change @@ -1272,7 +1272,7 @@ pub unsafe fn _mm_loadu_si128(mem_addr: *const __m128i) -> __m128i {
1272
1272
}
1273
1273
1274
1274
/// Conditionally store 8-bit integer elements from `a` into memory using
1275
- /// `mask`.
1275
+ /// `mask` flagged as non-temporal (unlikely to be used again soon) .
1276
1276
///
1277
1277
/// Elements are not stored when the highest bit is not set in the
1278
1278
/// corresponding element.
@@ -1281,6 +1281,15 @@ pub unsafe fn _mm_loadu_si128(mem_addr: *const __m128i) -> __m128i {
1281
1281
/// to be aligned on any particular boundary.
1282
1282
///
1283
1283
/// [Intel's documentation](https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maskmoveu_si128)
1284
+ ///
1285
+ /// # Safety of non-temporal stores
1286
+ ///
1287
+ /// After using this intrinsic, but before any other access to the memory that this intrinsic
1288
+ /// mutates, a call to [`_mm_sfence`] must be performed by the thread that used the intrinsic. In
1289
+ /// particular, functions that call this intrinsic should generally call `_mm_sfence` before they
1290
+ /// return.
1291
+ ///
1292
+ /// See [`_mm_sfence`] for details.
1284
1293
#[ inline]
1285
1294
#[ target_feature( enable = "sse2" ) ]
1286
1295
#[ cfg_attr( test, assert_instr( maskmovdqu) ) ]
You can’t perform that action at this time.
0 commit comments