Skip to content

Commit 648061c

Browse files
authored
Merge pull request #1881 from folkertdev/s390x-project-simd
work around not being able to project into SIMD values
2 parents 5531955 + 16727c6 commit 648061c

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

crates/core_arch/src/s390x/vector.rs

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5831,24 +5831,30 @@ mod tests {
58315831
use crate::core_arch::simd::*;
58325832
use stdarch_test::simd_test;
58335833

5834+
impl<const N: usize> ShuffleMask<N> {
5835+
fn as_array(&self) -> &[u32; N] {
5836+
unsafe { std::mem::transmute(self) }
5837+
}
5838+
}
5839+
58345840
#[test]
58355841
fn reverse_mask() {
5836-
assert_eq!(ShuffleMask::<4>::reverse().0, [3, 2, 1, 0]);
5842+
assert_eq!(ShuffleMask::<4>::reverse().as_array(), &[3, 2, 1, 0]);
58375843
}
58385844

58395845
#[test]
58405846
fn mergel_mask() {
5841-
assert_eq!(ShuffleMask::<4>::merge_low().0, [2, 6, 3, 7]);
5847+
assert_eq!(ShuffleMask::<4>::merge_low().as_array(), &[2, 6, 3, 7]);
58425848
}
58435849

58445850
#[test]
58455851
fn mergeh_mask() {
5846-
assert_eq!(ShuffleMask::<4>::merge_high().0, [0, 4, 1, 5]);
5852+
assert_eq!(ShuffleMask::<4>::merge_high().as_array(), &[0, 4, 1, 5]);
58475853
}
58485854

58495855
#[test]
58505856
fn pack_mask() {
5851-
assert_eq!(ShuffleMask::<4>::pack().0, [1, 3, 5, 7]);
5857+
assert_eq!(ShuffleMask::<4>::pack().as_array(), &[1, 3, 5, 7]);
58525858
}
58535859

58545860
#[test]

0 commit comments

Comments
 (0)