Update std and tests to match std::simd API (remove LaneCount bound and rename to_int to to_simd)

This commit is contained in:
Caleb Zulawski 2026-01-28 00:58:13 -05:00
parent 0eaef59233
commit b71ff51277
3 changed files with 6 additions and 8 deletions

View file

@ -4443,7 +4443,6 @@ impl<T> [T] {
where
Simd<T, LANES>: AsRef<[T; LANES]>,
T: simd::SimdElement,
simd::LaneCount<LANES>: simd::SupportedLaneCount,
{
// These are expected to always match, as vector types are laid out like
// arrays per <https://llvm.org/docs/LangRef.html#vector-type>, but we
@ -4479,7 +4478,6 @@ impl<T> [T] {
where
Simd<T, LANES>: AsMut<[T; LANES]>,
T: simd::SimdElement,
simd::LaneCount<LANES>: simd::SupportedLaneCount,
{
// These are expected to always match, as vector types are laid out like
// arrays per <https://llvm.org/docs/LangRef.html#vector-type>, but we

View file

@ -471,7 +471,7 @@ fn simd_ops_i32() {
fn simd_mask() {
use std::intrinsics::simd::*;
let intmask = Mask::from_int(i32x4::from_array([0, -1, 0, 0]));
let intmask = Mask::from_simd(i32x4::from_array([0, -1, 0, 0]));
assert_eq!(intmask, Mask::from_array([false, true, false, false]));
assert_eq!(intmask.to_array(), [false, true, false, false]);
@ -486,8 +486,8 @@ fn simd_mask() {
// Also directly call intrinsic, to test both kinds of return types.
unsafe {
let bitmask1: u16 = simd_bitmask(mask.to_int());
let bitmask2: [u8; 2] = simd_bitmask(mask.to_int());
let bitmask1: u16 = simd_bitmask(mask.to_simd());
let bitmask2: [u8; 2] = simd_bitmask(mask.to_simd());
if cfg!(target_endian = "little") {
assert_eq!(bitmask1, 0b1010001101001001);
assert_eq!(bitmask2, [0b01001001, 0b10100011]);
@ -506,8 +506,8 @@ fn simd_mask() {
assert_eq!(bitmask, 0b1000);
assert_eq!(Mask::<i64, 4>::from_bitmask(bitmask), mask);
unsafe {
let bitmask1: u8 = simd_bitmask(mask.to_int());
let bitmask2: [u8; 1] = simd_bitmask(mask.to_int());
let bitmask1: u8 = simd_bitmask(mask.to_simd());
let bitmask2: [u8; 1] = simd_bitmask(mask.to_simd());
if cfg!(target_endian = "little") {
assert_eq!(bitmask1, 0b1000);
assert_eq!(bitmask2, [0b1000]);

View file

@ -12,6 +12,6 @@ use std::simd::num::*;
pub unsafe fn mask_to_array(mask: u8) -> [i32; 8] {
let mut output = [0; 8];
let m = masksizex8::from_bitmask(mask as _);
output.copy_from_slice(&m.to_int().cast::<i32>().to_array());
output.copy_from_slice(&m.to_simd().cast::<i32>().to_array());
output
}