Skip to content

Commit cd37e53

Browse files
committed
Begin changing vectors to const generics
1 parent 46569f1 commit cd37e53

17 files changed

+243
-407
lines changed

crates/core_simd/src/fmt.rs

Lines changed: 9 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -30,18 +30,18 @@ debug_wrapper! {
3030
}
3131

3232
macro_rules! impl_fmt_trait {
33-
{ $($type:ty => $(($trait:ident, $format:ident)),*;)* } => {
33+
{ $($type:ident => $(($trait:ident, $format:ident)),*;)* } => {
3434
$( // repeat type
3535
$( // repeat trait
36-
impl core::fmt::$trait for $type {
36+
impl<const LANES: usize> core::fmt::$trait for crate::$type<LANES> {
3737
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
3838
$format(self.as_ref(), f)
3939
}
4040
}
4141
)*
4242
)*
4343
};
44-
{ integers: $($type:ty,)* } => {
44+
{ integers: $($type:ident,)* } => {
4545
impl_fmt_trait! {
4646
$($type =>
4747
(Debug, format),
@@ -54,7 +54,7 @@ macro_rules! impl_fmt_trait {
5454
)*
5555
}
5656
};
57-
{ floats: $($type:ty,)* } => {
57+
{ floats: $($type:ident,)* } => {
5858
impl_fmt_trait! {
5959
$($type =>
6060
(Debug, format),
@@ -63,7 +63,7 @@ macro_rules! impl_fmt_trait {
6363
)*
6464
}
6565
};
66-
{ masks: $($type:ty,)* } => {
66+
{ masks: $($type:ident,)* } => {
6767
impl_fmt_trait! {
6868
$($type =>
6969
(Debug, format);
@@ -74,32 +74,12 @@ macro_rules! impl_fmt_trait {
7474

7575
impl_fmt_trait! {
7676
integers:
77-
crate::u8x8, crate::u8x16, crate::u8x32, crate::u8x64,
78-
crate::i8x8, crate::i8x16, crate::i8x32, crate::i8x64,
79-
crate::u16x4, crate::u16x8, crate::u16x16, crate::u16x32,
80-
crate::i16x4, crate::i16x8, crate::i16x16, crate::i16x32,
81-
crate::u32x2, crate::u32x4, crate::u32x8, crate::u32x16,
82-
crate::i32x2, crate::i32x4, crate::i32x8, crate::i32x16,
83-
crate::u64x2, crate::u64x4, crate::u64x8,
84-
crate::i64x2, crate::i64x4, crate::i64x8,
85-
crate::u128x2, crate::u128x4,
86-
crate::i128x2, crate::i128x4,
87-
crate::usizex2, crate::usizex4, crate::usizex8,
88-
crate::isizex2, crate::isizex4, crate::isizex8,
77+
SimdU8, SimdU16, SimdU32, SimdU64, SimdU128,
78+
SimdI8, SimdI16, SimdI32, SimdI64, SimdI128,
79+
SimdUsize, SimdIsize,
8980
}
9081

9182
impl_fmt_trait! {
9283
floats:
93-
crate::f32x2, crate::f32x4, crate::f32x8, crate::f32x16,
94-
crate::f64x2, crate::f64x4, crate::f64x8,
95-
}
96-
97-
impl_fmt_trait! {
98-
masks:
99-
crate::masks::wide::m8x8, crate::masks::wide::m8x16, crate::masks::wide::m8x32, crate::masks::wide::m8x64,
100-
crate::masks::wide::m16x4, crate::masks::wide::m16x8, crate::masks::wide::m16x16, crate::masks::wide::m16x32,
101-
crate::masks::wide::m32x2, crate::masks::wide::m32x4, crate::masks::wide::m32x8, crate::masks::wide::m32x16,
102-
crate::masks::wide::m64x2, crate::masks::wide::m64x4, crate::masks::wide::m64x8,
103-
crate::masks::wide::m128x2, crate::masks::wide::m128x4,
104-
crate::masks::wide::msizex2, crate::masks::wide::msizex4, crate::masks::wide::msizex8,
84+
SimdF32, SimdF64,
10585
}

crates/core_simd/src/lib.rs

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#![no_std]
2-
#![feature(repr_simd, platform_intrinsics, link_llvm_intrinsics, simd_ffi)]
2+
#![feature(repr_simd, platform_intrinsics, link_llvm_intrinsics, simd_ffi, min_const_generics)]
33
#![warn(missing_docs)]
44
//! Portable SIMD module.
55
@@ -8,10 +8,11 @@ mod macros;
88

99
mod fmt;
1010
mod intrinsics;
11-
mod ops;
11+
//mod ops;
12+
//mod round;
1213

13-
pub mod masks;
14-
pub use masks::opaque::*;
14+
//pub mod masks;
15+
//pub use masks::opaque::*;
1516

1617
mod vectors_u8;
1718
pub use vectors_u8::*;
@@ -44,4 +45,15 @@ pub use vectors_f32::*;
4445
mod vectors_f64;
4546
pub use vectors_f64::*;
4647

47-
mod round;
48+
//mod vectors_mask8;
49+
//pub use vectors_mask8::*;
50+
//mod vectors_mask16;
51+
//pub use vectors_mask16::*;
52+
//mod vectors_mask32;
53+
//pub use vectors_mask32::*;
54+
//mod vectors_mask64;
55+
//pub use vectors_mask64::*;
56+
//mod vectors_mask128;
57+
//pub use vectors_mask128::*;
58+
//mod vectors_masksize;
59+
//pub use vectors_masksize::*;

0 commit comments

Comments
 (0)