@@ -29696,7 +29696,7 @@ pub unsafe fn _mm512_stream_pd(mem_addr: *mut f64, a: __m512d) {
2969629696#[unstable(feature = "stdarch_x86_avx512", issue = "111137")]
2969729697#[cfg_attr(test, assert_instr(vmovntdq))]
2969829698#[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) {
2970029700 crate::arch::asm!(
2970129701 vps!("vmovntdq", ",{a}"),
2970229702 p = in(reg) mem_addr,
@@ -34435,8 +34435,8 @@ pub unsafe fn _mm_storeu_epi64(mem_addr: *mut i64, a: __m128i) {
3443534435#[target_feature(enable = "avx512f")]
3443634436#[unstable(feature = "stdarch_x86_avx512", issue = "111137")]
3443734437#[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)
3444034440}
3444134441
3444234442/// 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) {
3445934459#[target_feature(enable = "avx512f")]
3446034460#[unstable(feature = "stdarch_x86_avx512", issue = "111137")]
3446134461#[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)
3446434464}
3446534465
3446634466/// 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 {
3447234472#[target_feature(enable = "avx512f")]
3447334473#[unstable(feature = "stdarch_x86_avx512", issue = "111137")]
3447434474#[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);
3447734477}
3447834478
3447934479/// 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) {
3448534485#[target_feature(enable = "avx512f")]
3448634486#[unstable(feature = "stdarch_x86_avx512", issue = "111137")]
3448734487#[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)
3449034490}
3449134491
3449234492/// 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 {
3449834498#[target_feature(enable = "avx512f")]
3449934499#[unstable(feature = "stdarch_x86_avx512", issue = "111137")]
3450034500#[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);
3450334503}
3450434504
3450534505/// 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) {
3450934509#[target_feature(enable = "avx512f")]
3451034510#[unstable(feature = "stdarch_x86_avx512", issue = "111137")]
3451134511#[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)
3451434514}
3451534515
3451634516/// 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) {
3466334663#[target_feature(enable = "avx512f")]
3466434664#[unstable(feature = "stdarch_x86_avx512", issue = "111137")]
3466534665#[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)
3466834668}
3466934669
3467034670/// 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 {
3467434674#[target_feature(enable = "avx512f")]
3467534675#[unstable(feature = "stdarch_x86_avx512", issue = "111137")]
3467634676#[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);
3467934679}
3468034680
3468134681/// 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) {
3468534685#[target_feature(enable = "avx512f")]
3468634686#[unstable(feature = "stdarch_x86_avx512", issue = "111137")]
3468734687#[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)
3469034690}
3469134691
3469234692/// 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 {
3469634696#[target_feature(enable = "avx512f")]
3469734697#[unstable(feature = "stdarch_x86_avx512", issue = "111137")]
3469834698#[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);
3470134701}
3470234702
3470334703/// Load packed 32-bit integers from memory into dst using writemask k
@@ -51036,7 +51036,7 @@ mod tests {
5103651036 #[simd_test(enable = "avx512f")]
5103751037 unsafe fn test_mm512_loadu_pd() {
5103851038 let a = &[4., 3., 2., 5., 8., 9., 64., 50.];
51039- let p = a.as_ptr();
51039+ let p = a.as_ptr().cast() ;
5104051040 let r = _mm512_loadu_pd(black_box(p));
5104151041 let e = _mm512_setr_pd(4., 3., 2., 5., 8., 9., 64., 50.);
5104251042 assert_eq_m512d(r, e);
@@ -51046,16 +51046,16 @@ mod tests {
5104651046 unsafe fn test_mm512_storeu_pd() {
5104751047 let a = _mm512_set1_pd(9.);
5104851048 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);
5105051050 assert_eq_m512d(r, a);
5105151051 }
5105251052
5105351053 #[simd_test(enable = "avx512f")]
5105451054 unsafe fn test_mm512_loadu_ps() {
5105551055 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.,
5105751057 ];
51058- let p = a.as_ptr();
51058+ let p = a.as_ptr().cast() ;
5105951059 let r = _mm512_loadu_ps(black_box(p));
5106051060 let e = _mm512_setr_ps(
5106151061 4., 3., 2., 5., 8., 9., 64., 50., -4., -3., -2., -5., -8., -9., -64., -50.,
@@ -51067,7 +51067,7 @@ mod tests {
5106751067 unsafe fn test_mm512_storeu_ps() {
5106851068 let a = _mm512_set1_ps(9.);
5106951069 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);
5107151071 assert_eq_m512(r, a);
5107251072 }
5107351073
@@ -51316,7 +51316,7 @@ mod tests {
5131651316 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,
5131751317 16.0,
5131851318 );
51319- assert_eq_m512(_mm512_loadu_ps(r.as_ptr()), e);
51319+ assert_eq_m512(_mm512_loadu_ps(r.as_ptr().cast() ), e);
5132051320 }
5132151321
5132251322 #[simd_test(enable = "avx512f")]
@@ -51335,7 +51335,7 @@ mod tests {
5133551335 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,
5133651336 16.0,
5133751337 );
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);
5133951339 }
5134051340
5134151341 #[simd_test(enable = "avx512f")]
@@ -51399,7 +51399,7 @@ mod tests {
5139951399 let m = 0b11001010;
5140051400 _mm512_mask_storeu_pd(r.as_mut_ptr(), m, a);
5140151401 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);
5140351403 }
5140451404
5140551405 #[simd_test(enable = "avx512f")]
@@ -51413,7 +51413,7 @@ mod tests {
5141351413 let m = 0b11001010;
5141451414 _mm512_mask_store_pd(r.data.as_mut_ptr(), m, a);
5141551415 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);
5141751417 }
5141851418
5141951419 #[simd_test(enable = "avx512f,avx512vl")]
@@ -57231,7 +57231,7 @@ mod tests {
5723157231 #[simd_test(enable = "avx512f")]
5723257232 unsafe fn test_mm512_loadu_si512() {
5723357233 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() ;
5723557235 let r = _mm512_loadu_si512(black_box(p));
5723657236 let e = _mm512_setr_epi32(4, 3, 2, 5, 8, 9, 64, 50, -4, -3, -2, -5, -8, -9, -64, -50);
5723757237 assert_eq_m512i(r, e);
@@ -57254,7 +57254,7 @@ mod tests {
5725457254 let a = Align {
5725557255 data: [4, 3, 2, 5, 8, 9, 64, 50, -4, -3, -2, -5, -8, -9, -64, -50],
5725657256 };
57257- let p = (a.data).as_ptr();
57257+ let p = (a.data).as_ptr().cast() ;
5725857258 let r = _mm512_load_si512(black_box(p));
5725957259 let e = _mm512_setr_epi32(4, 3, 2, 5, 8, 9, 64, 50, -4, -3, -2, -5, -8, -9, -64, -50);
5726057260 assert_eq_m512i(r, e);
@@ -57277,7 +57277,7 @@ mod tests {
5727757277 let a = Align {
5727857278 data: [4, 3, 2, 5, 8, 9, 64, 50, -4, -3, -2, -5, -8, -9, -64, -50],
5727957279 };
57280- let p = (a.data).as_ptr();
57280+ let p = (a.data).as_ptr().cast() ;
5728157281 let r = _mm512_load_epi32(black_box(p));
5728257282 let e = _mm512_setr_epi32(4, 3, 2, 5, 8, 9, 64, 50, -4, -3, -2, -5, -8, -9, -64, -50);
5728357283 assert_eq_m512i(r, e);
@@ -57346,7 +57346,7 @@ mod tests {
5734657346 4., 3., 2., 5., 8., 9., 64., 50., -4., -3., -2., -5., -8., -9., -64., -50.,
5734757347 ],
5734857348 };
57349- let p = (a.data).as_ptr();
57349+ let p = (a.data).as_ptr().cast() ;
5735057350 let r = _mm512_load_ps(black_box(p));
5735157351 let e = _mm512_setr_ps(
5735257352 4., 3., 2., 5., 8., 9., 64., 50., -4., -3., -2., -5., -8., -9., -64., -50.,
@@ -57358,7 +57358,7 @@ mod tests {
5735857358 unsafe fn test_mm512_store_ps() {
5735957359 let a = _mm512_set1_ps(9.);
5736057360 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);
5736257362 assert_eq_m512(r, a);
5736357363 }
5736457364
0 commit comments