@@ -29696,7 +29696,7 @@ pub unsafe fn _mm512_stream_pd(mem_addr: *mut f64, a: __m512d) {
29696
29696
#[unstable(feature = "stdarch_x86_avx512", issue = "111137")]
29697
29697
#[cfg_attr(test, assert_instr(vmovntdq))]
29698
29698
#[allow(clippy::cast_ptr_alignment)]
29699
- pub unsafe fn _mm512_stream_si512(mem_addr: *mut i32 , a: __m512i) {
29699
+ pub unsafe fn _mm512_stream_si512(mem_addr: *mut __m512i , a: __m512i) {
29700
29700
crate::arch::asm!(
29701
29701
vps!("vmovntdq", ",{a}"),
29702
29702
p = in(reg) mem_addr,
@@ -34435,8 +34435,8 @@ pub unsafe fn _mm_storeu_epi64(mem_addr: *mut i64, a: __m128i) {
34435
34435
#[target_feature(enable = "avx512f")]
34436
34436
#[unstable(feature = "stdarch_x86_avx512", issue = "111137")]
34437
34437
#[cfg_attr(test, assert_instr(vmovups))] //should be vmovdqu32
34438
- pub unsafe fn _mm512_loadu_si512(mem_addr: *const i32 ) -> __m512i {
34439
- ptr::read_unaligned(mem_addr as *const __m512i )
34438
+ pub unsafe fn _mm512_loadu_si512(mem_addr: *const __m512i ) -> __m512i {
34439
+ ptr::read_unaligned(mem_addr)
34440
34440
}
34441
34441
34442
34442
/// Store 512-bits of integer data from a into memory. mem_addr does not need to be aligned on any particular boundary.
@@ -34459,8 +34459,8 @@ pub unsafe fn _mm512_storeu_si512(mem_addr: *mut __m512i, a: __m512i) {
34459
34459
#[target_feature(enable = "avx512f")]
34460
34460
#[unstable(feature = "stdarch_x86_avx512", issue = "111137")]
34461
34461
#[cfg_attr(test, assert_instr(vmovups))]
34462
- pub unsafe fn _mm512_loadu_pd(mem_addr: *const f64 ) -> __m512d {
34463
- ptr::read_unaligned(mem_addr as *const __m512d )
34462
+ pub unsafe fn _mm512_loadu_pd(mem_addr: *const __m512d ) -> __m512d {
34463
+ ptr::read_unaligned(mem_addr)
34464
34464
}
34465
34465
34466
34466
/// Stores 512-bits (composed of 8 packed double-precision (64-bit)
@@ -34472,8 +34472,8 @@ pub unsafe fn _mm512_loadu_pd(mem_addr: *const f64) -> __m512d {
34472
34472
#[target_feature(enable = "avx512f")]
34473
34473
#[unstable(feature = "stdarch_x86_avx512", issue = "111137")]
34474
34474
#[cfg_attr(test, assert_instr(vmovups))]
34475
- pub unsafe fn _mm512_storeu_pd(mem_addr: *mut f64 , a: __m512d) {
34476
- ptr::write_unaligned(mem_addr as *mut __m512d , a);
34475
+ pub unsafe fn _mm512_storeu_pd(mem_addr: *mut __m512d , a: __m512d) {
34476
+ ptr::write_unaligned(mem_addr, a);
34477
34477
}
34478
34478
34479
34479
/// Loads 512-bits (composed of 16 packed single-precision (32-bit)
@@ -34485,8 +34485,8 @@ pub unsafe fn _mm512_storeu_pd(mem_addr: *mut f64, a: __m512d) {
34485
34485
#[target_feature(enable = "avx512f")]
34486
34486
#[unstable(feature = "stdarch_x86_avx512", issue = "111137")]
34487
34487
#[cfg_attr(test, assert_instr(vmovups))]
34488
- pub unsafe fn _mm512_loadu_ps(mem_addr: *const f32 ) -> __m512 {
34489
- ptr::read_unaligned(mem_addr as *const __m512 )
34488
+ pub unsafe fn _mm512_loadu_ps(mem_addr: *const __m512 ) -> __m512 {
34489
+ ptr::read_unaligned(mem_addr)
34490
34490
}
34491
34491
34492
34492
/// Stores 512-bits (composed of 16 packed single-precision (32-bit)
@@ -34498,8 +34498,8 @@ pub unsafe fn _mm512_loadu_ps(mem_addr: *const f32) -> __m512 {
34498
34498
#[target_feature(enable = "avx512f")]
34499
34499
#[unstable(feature = "stdarch_x86_avx512", issue = "111137")]
34500
34500
#[cfg_attr(test, assert_instr(vmovups))]
34501
- pub unsafe fn _mm512_storeu_ps(mem_addr: *mut f32 , a: __m512) {
34502
- ptr::write_unaligned(mem_addr as *mut __m512 , a);
34501
+ pub unsafe fn _mm512_storeu_ps(mem_addr: *mut __m512 , a: __m512) {
34502
+ ptr::write_unaligned(mem_addr, a);
34503
34503
}
34504
34504
34505
34505
/// Load 512-bits of integer data from memory into dst. mem_addr must be aligned on a 64-byte boundary or a general-protection exception may be generated.
@@ -34509,8 +34509,8 @@ pub unsafe fn _mm512_storeu_ps(mem_addr: *mut f32, a: __m512) {
34509
34509
#[target_feature(enable = "avx512f")]
34510
34510
#[unstable(feature = "stdarch_x86_avx512", issue = "111137")]
34511
34511
#[cfg_attr(test, assert_instr(vmovaps))] //should be vmovdqa32
34512
- pub unsafe fn _mm512_load_si512(mem_addr: *const i32 ) -> __m512i {
34513
- ptr::read(mem_addr as *const __m512i )
34512
+ pub unsafe fn _mm512_load_si512(mem_addr: *const __m512i ) -> __m512i {
34513
+ ptr::read(mem_addr)
34514
34514
}
34515
34515
34516
34516
/// Store 512-bits of integer data from a into memory. mem_addr must be aligned on a 64-byte boundary or a general-protection exception may be generated.
@@ -34663,8 +34663,8 @@ pub unsafe fn _mm_store_epi64(mem_addr: *mut i64, a: __m128i) {
34663
34663
#[target_feature(enable = "avx512f")]
34664
34664
#[unstable(feature = "stdarch_x86_avx512", issue = "111137")]
34665
34665
#[cfg_attr(test, assert_instr(vmovaps))]
34666
- pub unsafe fn _mm512_load_ps(mem_addr: *const f32 ) -> __m512 {
34667
- ptr::read(mem_addr as *const __m512 )
34666
+ pub unsafe fn _mm512_load_ps(mem_addr: *const __m512 ) -> __m512 {
34667
+ ptr::read(mem_addr)
34668
34668
}
34669
34669
34670
34670
/// Store 512-bits of integer data from a into memory. mem_addr must be aligned on a 64-byte boundary or a general-protection exception may be generated.
@@ -34674,8 +34674,8 @@ pub unsafe fn _mm512_load_ps(mem_addr: *const f32) -> __m512 {
34674
34674
#[target_feature(enable = "avx512f")]
34675
34675
#[unstable(feature = "stdarch_x86_avx512", issue = "111137")]
34676
34676
#[cfg_attr(test, assert_instr(vmovaps))]
34677
- pub unsafe fn _mm512_store_ps(mem_addr: *mut f32 , a: __m512) {
34678
- ptr::write(mem_addr as *mut __m512 , a);
34677
+ pub unsafe fn _mm512_store_ps(mem_addr: *mut __m512 , a: __m512) {
34678
+ ptr::write(mem_addr, a);
34679
34679
}
34680
34680
34681
34681
/// Load 512-bits (composed of 8 packed double-precision (64-bit) floating-point elements) from memory into dst. mem_addr must be aligned on a 64-byte boundary or a general-protection exception may be generated.
@@ -34685,8 +34685,8 @@ pub unsafe fn _mm512_store_ps(mem_addr: *mut f32, a: __m512) {
34685
34685
#[target_feature(enable = "avx512f")]
34686
34686
#[unstable(feature = "stdarch_x86_avx512", issue = "111137")]
34687
34687
#[cfg_attr(test, assert_instr(vmovaps))] //should be vmovapd
34688
- pub unsafe fn _mm512_load_pd(mem_addr: *const f64 ) -> __m512d {
34689
- ptr::read(mem_addr as *const __m512d )
34688
+ pub unsafe fn _mm512_load_pd(mem_addr: *const __m512d ) -> __m512d {
34689
+ ptr::read(mem_addr)
34690
34690
}
34691
34691
34692
34692
/// Store 512-bits (composed of 8 packed double-precision (64-bit) floating-point elements) from a into memory. mem_addr must be aligned on a 64-byte boundary or a general-protection exception may be generated.
@@ -34696,8 +34696,8 @@ pub unsafe fn _mm512_load_pd(mem_addr: *const f64) -> __m512d {
34696
34696
#[target_feature(enable = "avx512f")]
34697
34697
#[unstable(feature = "stdarch_x86_avx512", issue = "111137")]
34698
34698
#[cfg_attr(test, assert_instr(vmovaps))] //should be vmovapd
34699
- pub unsafe fn _mm512_store_pd(mem_addr: *mut f64 , a: __m512d) {
34700
- ptr::write(mem_addr as *mut __m512d , a);
34699
+ pub unsafe fn _mm512_store_pd(mem_addr: *mut __m512d , a: __m512d) {
34700
+ ptr::write(mem_addr, a);
34701
34701
}
34702
34702
34703
34703
/// Load packed 32-bit integers from memory into dst using writemask k
@@ -51036,7 +51036,7 @@ mod tests {
51036
51036
#[simd_test(enable = "avx512f")]
51037
51037
unsafe fn test_mm512_loadu_pd() {
51038
51038
let a = &[4., 3., 2., 5., 8., 9., 64., 50.];
51039
- let p = a.as_ptr();
51039
+ let p = a.as_ptr().cast() ;
51040
51040
let r = _mm512_loadu_pd(black_box(p));
51041
51041
let e = _mm512_setr_pd(4., 3., 2., 5., 8., 9., 64., 50.);
51042
51042
assert_eq_m512d(r, e);
@@ -51046,16 +51046,16 @@ mod tests {
51046
51046
unsafe fn test_mm512_storeu_pd() {
51047
51047
let a = _mm512_set1_pd(9.);
51048
51048
let mut r = _mm512_undefined_pd();
51049
- _mm512_storeu_pd(&mut r as *mut _ as *mut f64 , a);
51049
+ _mm512_storeu_pd(&mut r as *mut _, a);
51050
51050
assert_eq_m512d(r, a);
51051
51051
}
51052
51052
51053
51053
#[simd_test(enable = "avx512f")]
51054
51054
unsafe fn test_mm512_loadu_ps() {
51055
51055
let a = &[
51056
- 4., 3., 2., 5., 8., 9., 64., 50., -4., -3., -2., -5., -8., -9., -64., -50.,
51056
+ 4.0_f32 , 3., 2., 5., 8., 9., 64., 50., -4., -3., -2., -5., -8., -9., -64., -50.,
51057
51057
];
51058
- let p = a.as_ptr();
51058
+ let p = a.as_ptr().cast() ;
51059
51059
let r = _mm512_loadu_ps(black_box(p));
51060
51060
let e = _mm512_setr_ps(
51061
51061
4., 3., 2., 5., 8., 9., 64., 50., -4., -3., -2., -5., -8., -9., -64., -50.,
@@ -51067,7 +51067,7 @@ mod tests {
51067
51067
unsafe fn test_mm512_storeu_ps() {
51068
51068
let a = _mm512_set1_ps(9.);
51069
51069
let mut r = _mm512_undefined_ps();
51070
- _mm512_storeu_ps(&mut r as *mut _ as *mut f32 , a);
51070
+ _mm512_storeu_ps(&mut r as *mut _, a);
51071
51071
assert_eq_m512(r, a);
51072
51072
}
51073
51073
@@ -51316,7 +51316,7 @@ mod tests {
51316
51316
42.0, 2.0, 42.0, 4.0, 42.0, 42.0, 7.0, 8.0, 42.0, 42.0, 42.0, 12.0, 42.0, 14.0, 15.0,
51317
51317
16.0,
51318
51318
);
51319
- assert_eq_m512(_mm512_loadu_ps(r.as_ptr()), e);
51319
+ assert_eq_m512(_mm512_loadu_ps(r.as_ptr().cast() ), e);
51320
51320
}
51321
51321
51322
51322
#[simd_test(enable = "avx512f")]
@@ -51335,7 +51335,7 @@ mod tests {
51335
51335
42.0, 2.0, 42.0, 4.0, 42.0, 42.0, 7.0, 8.0, 42.0, 42.0, 42.0, 12.0, 42.0, 14.0, 15.0,
51336
51336
16.0,
51337
51337
);
51338
- assert_eq_m512(_mm512_load_ps(r.data.as_ptr()), e);
51338
+ assert_eq_m512(_mm512_load_ps(r.data.as_ptr().cast() ), e);
51339
51339
}
51340
51340
51341
51341
#[simd_test(enable = "avx512f")]
@@ -51399,7 +51399,7 @@ mod tests {
51399
51399
let m = 0b11001010;
51400
51400
_mm512_mask_storeu_pd(r.as_mut_ptr(), m, a);
51401
51401
let e = _mm512_setr_pd(42.0, 2.0, 42.0, 4.0, 42.0, 42.0, 7.0, 8.0);
51402
- assert_eq_m512d(_mm512_loadu_pd(r.as_ptr()), e);
51402
+ assert_eq_m512d(_mm512_loadu_pd(r.as_ptr().cast() ), e);
51403
51403
}
51404
51404
51405
51405
#[simd_test(enable = "avx512f")]
@@ -51413,7 +51413,7 @@ mod tests {
51413
51413
let m = 0b11001010;
51414
51414
_mm512_mask_store_pd(r.data.as_mut_ptr(), m, a);
51415
51415
let e = _mm512_setr_pd(42.0, 2.0, 42.0, 4.0, 42.0, 42.0, 7.0, 8.0);
51416
- assert_eq_m512d(_mm512_load_pd(r.data.as_ptr()), e);
51416
+ assert_eq_m512d(_mm512_load_pd(r.data.as_ptr().cast() ), e);
51417
51417
}
51418
51418
51419
51419
#[simd_test(enable = "avx512f,avx512vl")]
@@ -57231,7 +57231,7 @@ mod tests {
57231
57231
#[simd_test(enable = "avx512f")]
57232
57232
unsafe fn test_mm512_loadu_si512() {
57233
57233
let a = &[4, 3, 2, 5, 8, 9, 64, 50, -4, -3, -2, -5, -8, -9, -64, -50];
57234
- let p = a.as_ptr();
57234
+ let p = a.as_ptr().cast() ;
57235
57235
let r = _mm512_loadu_si512(black_box(p));
57236
57236
let e = _mm512_setr_epi32(4, 3, 2, 5, 8, 9, 64, 50, -4, -3, -2, -5, -8, -9, -64, -50);
57237
57237
assert_eq_m512i(r, e);
@@ -57254,7 +57254,7 @@ mod tests {
57254
57254
let a = Align {
57255
57255
data: [4, 3, 2, 5, 8, 9, 64, 50, -4, -3, -2, -5, -8, -9, -64, -50],
57256
57256
};
57257
- let p = (a.data).as_ptr();
57257
+ let p = (a.data).as_ptr().cast() ;
57258
57258
let r = _mm512_load_si512(black_box(p));
57259
57259
let e = _mm512_setr_epi32(4, 3, 2, 5, 8, 9, 64, 50, -4, -3, -2, -5, -8, -9, -64, -50);
57260
57260
assert_eq_m512i(r, e);
@@ -57277,7 +57277,7 @@ mod tests {
57277
57277
let a = Align {
57278
57278
data: [4, 3, 2, 5, 8, 9, 64, 50, -4, -3, -2, -5, -8, -9, -64, -50],
57279
57279
};
57280
- let p = (a.data).as_ptr();
57280
+ let p = (a.data).as_ptr().cast() ;
57281
57281
let r = _mm512_load_epi32(black_box(p));
57282
57282
let e = _mm512_setr_epi32(4, 3, 2, 5, 8, 9, 64, 50, -4, -3, -2, -5, -8, -9, -64, -50);
57283
57283
assert_eq_m512i(r, e);
@@ -57346,7 +57346,7 @@ mod tests {
57346
57346
4., 3., 2., 5., 8., 9., 64., 50., -4., -3., -2., -5., -8., -9., -64., -50.,
57347
57347
],
57348
57348
};
57349
- let p = (a.data).as_ptr();
57349
+ let p = (a.data).as_ptr().cast() ;
57350
57350
let r = _mm512_load_ps(black_box(p));
57351
57351
let e = _mm512_setr_ps(
57352
57352
4., 3., 2., 5., 8., 9., 64., 50., -4., -3., -2., -5., -8., -9., -64., -50.,
@@ -57358,7 +57358,7 @@ mod tests {
57358
57358
unsafe fn test_mm512_store_ps() {
57359
57359
let a = _mm512_set1_ps(9.);
57360
57360
let mut r = _mm512_undefined_ps();
57361
- _mm512_store_ps(&mut r as *mut _ as *mut f32 , a);
57361
+ _mm512_store_ps(&mut r as *mut _, a);
57362
57362
assert_eq_m512(r, a);
57363
57363
}
57364
57364
0 commit comments