Skip to content

Commit 581badd

Browse files
committed
Re-add tests that got lost in the merge
1 parent 40d3e0a commit 581badd

File tree

1 file changed

+39
-0
lines changed
  • crates/core_arch/src/arm/neon

1 file changed

+39
-0
lines changed

crates/core_arch/src/arm/neon/mod.rs

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3902,6 +3902,45 @@ mod tests {
39023902
|a: u32, b: u32| -> u32 { (((a as u64) - (b as u64)) / 2) as u32 },
39033903
);
39043904
}
3905+
3906+
#[simd_test(enable = "neon")]
3907+
unsafe fn test_vreinterpretq_s8_u8() {
3908+
let a = i8x16::new(-1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16);
3909+
let r: u8x16 = transmute(vreinterpretq_s8_u8(transmute(a)));
3910+
let e = u8x16::new(0xFF, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16);
3911+
assert_eq!(r, e)
3912+
}
3913+
#[simd_test(enable = "neon")]
3914+
unsafe fn test_vreinterpretq_u16_u8() {
3915+
let a = u16x8::new(
3916+
0x01_00, 0x03_02, 0x05_04, 0x07_06, 0x09_08, 0x0B_0A, 0x0D_0C, 0x0F_0E,
3917+
);
3918+
let r: u8x16 = transmute(vreinterpretq_u16_u8(transmute(a)));
3919+
let e = u8x16::new(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);
3920+
assert_eq!(r, e)
3921+
}
3922+
#[simd_test(enable = "neon")]
3923+
unsafe fn test_vreinterpretq_u32_u8() {
3924+
let a = u32x4::new(0x03_02_01_00, 0x07_06_05_04, 0x0B_0A_09_08, 0x0F_0E_0D_0C);
3925+
let r: u8x16 = transmute(vreinterpretq_u32_u8(transmute(a)));
3926+
let e = u8x16::new(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);
3927+
assert_eq!(r, e)
3928+
}
3929+
#[simd_test(enable = "neon")]
3930+
unsafe fn test_vreinterpretq_u64_u8() {
3931+
let a: u64x2 = u64x2::new(0x07_06_05_04_03_02_01_00, 0x0F_0E_0D_0C_0B_0A_09_08);
3932+
let r: u8x16 = transmute(vreinterpretq_u64_u8(transmute(a)));
3933+
let e = u8x16::new(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);
3934+
assert_eq!(r, e)
3935+
}
3936+
#[simd_test(enable = "neon")]
3937+
unsafe fn test_vreinterpretq_u8_s8() {
3938+
let a = u8x16::new(0xFF, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16);
3939+
let r: i8x16 = transmute(vreinterpretq_u8_s8(transmute(a)));
3940+
let e = i8x16::new(-1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16);
3941+
assert_eq!(r, e)
3942+
}
3943+
39053944
}
39063945

39073946
#[cfg(test)]

0 commit comments

Comments
 (0)