File tree 1 file changed +4
-9
lines changed
1 file changed +4
-9
lines changed Original file line number Diff line number Diff line change @@ -1259,15 +1259,10 @@ pub unsafe fn _mm_loadr_ps(p: *const f32) -> __m128 {
1259
1259
#[ inline]
1260
1260
#[ target_feature( enable = "sse" ) ]
1261
1261
#[ cfg_attr( test, assert_instr( movups) ) ]
1262
- #[ stable( feature = "simd_x86" , 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
1262
+ #[ stable( feature = "simd_x86_mm_loadu_si64" , since = "1.46.0" ) ]
1263
+ pub unsafe fn _mm_loadu_si64 ( mem_addr : * const i64 ) -> __m128i {
1264
+ let val = mem_addr. read_unaligned ( ) ;
1265
+ _mm_set_epi64x ( val, 0 )
1271
1266
}
1272
1267
1273
1268
/// Stores the upper half of `a` (64 bits) into memory.
You can’t perform that action at this time.
0 commit comments