We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 8ed548d commit 8d734b6Copy full SHA for 8d734b6
crates/core_arch/src/x86/sse.rs
@@ -1259,15 +1259,10 @@ pub unsafe fn _mm_loadr_ps(p: *const f32) -> __m128 {
1259
#[inline]
1260
#[target_feature(enable = "sse")]
1261
#[cfg_attr(test, assert_instr(movups))]
1262
-#[stable(feature = "simd_x86", since = "1.46.0")]
+#[stable(feature = "simd_x86_mm_loadu_si64", since = "1.46.0")]
1263
pub unsafe fn _mm_loadu_si64(mem_addr: *const u8) -> __m128i {
1264
- let mut dst = _mm_setzero_si128();
1265
- ptr::copy_nonoverlapping(
1266
- mem_addr,
1267
- &mut dst as *mut __m128i as *mut u8,
1268
- 8, // == 64 bits == mem::size_of::<__m128i>() / 2
1269
- );
1270
- dst
+ let val = ptr::read_unaligned(mem_addr as *const i64);
+ _mm_set_epi64x(val, 0)
1271
}
1272
1273
/// Stores the upper half of `a` (64 bits) into memory.
0 commit comments