Skip to content

Commit c9afbea

Browse files
committed
Auto merge of #151794 - JonathanBrouwer:rollup-rGbYGX2, r=JonathanBrouwer
Rollup of 12 pull requests Successful merges: - rust-lang/rust#150491 (resolve: Mark items under exported ambiguous imports as exported) - rust-lang/rust#150720 (Do not suggest `derive` if there is already an impl) - rust-lang/rust#150968 (compiler-builtins: Remove the no-f16-f128 feature) - rust-lang/rust#151493 ([RFC] rustc_parse: improve the error diagnostic for "missing let in let chain") - rust-lang/rust#151660 (Bump `std`'s `backtrace`'s `rustc-demangle`) - rust-lang/rust#151696 (Borrowck: Simplify SCC annotation computation, placeholder rewriting) - rust-lang/rust#151704 (Implement `set_output_kind` for Emscripten linker) - rust-lang/rust#151706 (Remove Fuchsia from target OS list in unix.rs for sleep) - rust-lang/rust#151769 (fix undefined behavior in VecDeque::splice) - rust-lang/rust#151779 (stdarch subtree update) - rust-lang/rust#151449 ([rustdoc] Add regression test for rust-lang/rust#151411) - rust-lang/rust#151773 (clean up checks for constant promotion of integer division/remainder operations)
2 parents 7795940 + 2df134d commit c9afbea

35 files changed

+6919
-3599
lines changed

crates/core_arch/src/aarch64/neon/generated.rs

Lines changed: 842 additions & 389 deletions
Large diffs are not rendered by default.

crates/core_arch/src/arm_shared/neon/generated.rs

Lines changed: 1318 additions & 986 deletions
Large diffs are not rendered by default.

crates/core_arch/src/x86/avx.rs

Lines changed: 131 additions & 100 deletions
Large diffs are not rendered by default.

crates/core_arch/src/x86/avx2.rs

Lines changed: 210 additions & 164 deletions
Large diffs are not rendered by default.

crates/core_arch/src/x86/avx512bf16.rs

Lines changed: 140 additions & 139 deletions
Large diffs are not rendered by default.

crates/core_arch/src/x86/avx512bw.rs

Lines changed: 178 additions & 136 deletions
Large diffs are not rendered by default.

crates/core_arch/src/x86/avx512dq.rs

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -7401,27 +7401,25 @@ unsafe extern "C" {
74017401
mod tests {
74027402
use super::*;
74037403
use crate::core_arch::assert_eq_const as assert_eq;
7404+
use crate::core_arch::x86::*;
74047405

74057406
use stdarch_test::simd_test;
74067407

7407-
use crate::core_arch::x86::*;
7408-
use crate::mem::transmute;
7409-
7410-
const OPRND1_64: f64 = unsafe { transmute(0x3333333333333333_u64) };
7411-
const OPRND2_64: f64 = unsafe { transmute(0x5555555555555555_u64) };
7408+
const OPRND1_64: f64 = f64::from_bits(0x3333333333333333);
7409+
const OPRND2_64: f64 = f64::from_bits(0x5555555555555555);
74127410

7413-
const AND_64: f64 = unsafe { transmute(0x1111111111111111_u64) };
7414-
const ANDN_64: f64 = unsafe { transmute(0x4444444444444444_u64) };
7415-
const OR_64: f64 = unsafe { transmute(0x7777777777777777_u64) };
7416-
const XOR_64: f64 = unsafe { transmute(0x6666666666666666_u64) };
7411+
const AND_64: f64 = f64::from_bits(0x1111111111111111);
7412+
const ANDN_64: f64 = f64::from_bits(0x4444444444444444);
7413+
const OR_64: f64 = f64::from_bits(0x7777777777777777);
7414+
const XOR_64: f64 = f64::from_bits(0x6666666666666666);
74177415

7418-
const OPRND1_32: f32 = unsafe { transmute(0x33333333_u32) };
7419-
const OPRND2_32: f32 = unsafe { transmute(0x55555555_u32) };
7416+
const OPRND1_32: f32 = f32::from_bits(0x33333333);
7417+
const OPRND2_32: f32 = f32::from_bits(0x55555555);
74207418

7421-
const AND_32: f32 = unsafe { transmute(0x11111111_u32) };
7422-
const ANDN_32: f32 = unsafe { transmute(0x44444444_u32) };
7423-
const OR_32: f32 = unsafe { transmute(0x77777777_u32) };
7424-
const XOR_32: f32 = unsafe { transmute(0x66666666_u32) };
7419+
const AND_32: f32 = f32::from_bits(0x11111111);
7420+
const ANDN_32: f32 = f32::from_bits(0x44444444);
7421+
const OR_32: f32 = f32::from_bits(0x77777777);
7422+
const XOR_32: f32 = f32::from_bits(0x66666666);
74257423

74267424
#[simd_test(enable = "avx512dq,avx512vl")]
74277425
const fn test_mm_mask_and_pd() {
@@ -10023,11 +10021,11 @@ mod tests {
1002310021
}
1002410022

1002510023
#[simd_test(enable = "avx512dq")]
10026-
const unsafe fn test_kortest_mask8_u8() {
10024+
const fn test_kortest_mask8_u8() {
1002710025
let a: __mmask8 = 0b01101001;
1002810026
let b: __mmask8 = 0b10110110;
1002910027
let mut all_ones: u8 = 0;
10030-
let r = _kortest_mask8_u8(a, b, &mut all_ones);
10028+
let r = unsafe { _kortest_mask8_u8(a, b, &mut all_ones) };
1003110029
assert_eq!(r, 0);
1003210030
assert_eq!(all_ones, 1);
1003310031
}
@@ -10049,7 +10047,7 @@ mod tests {
1004910047
}
1005010048

1005110049
#[simd_test(enable = "avx512dq")]
10052-
const unsafe fn test_kshiftli_mask8() {
10050+
const fn test_kshiftli_mask8() {
1005310051
let a: __mmask8 = 0b01101001;
1005410052
let r = _kshiftli_mask8::<3>(a);
1005510053
let e: __mmask8 = 0b01001000;
@@ -10089,11 +10087,11 @@ mod tests {
1008910087
}
1009010088

1009110089
#[simd_test(enable = "avx512dq")]
10092-
const unsafe fn test_ktest_mask8_u8() {
10090+
const fn test_ktest_mask8_u8() {
1009310091
let a: __mmask8 = 0b01101001;
1009410092
let b: __mmask8 = 0b10010110;
1009510093
let mut and_not: u8 = 0;
10096-
let r = _ktest_mask8_u8(a, b, &mut and_not);
10094+
let r = unsafe { _ktest_mask8_u8(a, b, &mut and_not) };
1009710095
assert_eq!(r, 1);
1009810096
assert_eq!(and_not, 0);
1009910097
}
@@ -10115,11 +10113,11 @@ mod tests {
1011510113
}
1011610114

1011710115
#[simd_test(enable = "avx512dq")]
10118-
const unsafe fn test_ktest_mask16_u8() {
10116+
const fn test_ktest_mask16_u8() {
1011910117
let a: __mmask16 = 0b0110100100111100;
1012010118
let b: __mmask16 = 0b1001011011000011;
1012110119
let mut and_not: u8 = 0;
10122-
let r = _ktest_mask16_u8(a, b, &mut and_not);
10120+
let r = unsafe { _ktest_mask16_u8(a, b, &mut and_not) };
1012310121
assert_eq!(r, 1);
1012410122
assert_eq!(and_not, 0);
1012510123
}
@@ -10141,18 +10139,20 @@ mod tests {
1014110139
}
1014210140

1014310141
#[simd_test(enable = "avx512dq")]
10144-
const unsafe fn test_load_mask8() {
10142+
const fn test_load_mask8() {
1014510143
let a: __mmask8 = 0b01101001;
10146-
let r = _load_mask8(&a);
10144+
let r = unsafe { _load_mask8(&a) };
1014710145
let e: __mmask8 = 0b01101001;
1014810146
assert_eq!(r, e);
1014910147
}
1015010148

1015110149
#[simd_test(enable = "avx512dq")]
10152-
const unsafe fn test_store_mask8() {
10150+
const fn test_store_mask8() {
1015310151
let a: __mmask8 = 0b01101001;
1015410152
let mut r = 0;
10155-
_store_mask8(&mut r, a);
10153+
unsafe {
10154+
_store_mask8(&mut r, a);
10155+
}
1015610156
let e: __mmask8 = 0b01101001;
1015710157
assert_eq!(r, e);
1015810158
}

0 commit comments

Comments
 (0)