]> git.lizzy.rs Git - rust.git/commitdiff
Combine vector definition modules by scalar type
authorCaleb Zulawski <caleb.zulawski@gmail.com>
Wed, 23 Sep 2020 14:21:19 +0000 (10:21 -0400)
committerCaleb Zulawski <caleb.zulawski@gmail.com>
Wed, 23 Sep 2020 14:21:19 +0000 (10:21 -0400)
68 files changed:
crates/core_simd/src/lib.rs
crates/core_simd/src/type_f32x16.rs [deleted file]
crates/core_simd/src/type_f32x2.rs [deleted file]
crates/core_simd/src/type_f32x4.rs [deleted file]
crates/core_simd/src/type_f32x8.rs [deleted file]
crates/core_simd/src/type_f64x2.rs [deleted file]
crates/core_simd/src/type_f64x4.rs [deleted file]
crates/core_simd/src/type_f64x8.rs [deleted file]
crates/core_simd/src/type_i128x2.rs [deleted file]
crates/core_simd/src/type_i128x4.rs [deleted file]
crates/core_simd/src/type_i16x16.rs [deleted file]
crates/core_simd/src/type_i16x2.rs [deleted file]
crates/core_simd/src/type_i16x32.rs [deleted file]
crates/core_simd/src/type_i16x4.rs [deleted file]
crates/core_simd/src/type_i16x8.rs [deleted file]
crates/core_simd/src/type_i32x16.rs [deleted file]
crates/core_simd/src/type_i32x2.rs [deleted file]
crates/core_simd/src/type_i32x4.rs [deleted file]
crates/core_simd/src/type_i32x8.rs [deleted file]
crates/core_simd/src/type_i64x2.rs [deleted file]
crates/core_simd/src/type_i64x4.rs [deleted file]
crates/core_simd/src/type_i64x8.rs [deleted file]
crates/core_simd/src/type_i8x16.rs [deleted file]
crates/core_simd/src/type_i8x2.rs [deleted file]
crates/core_simd/src/type_i8x32.rs [deleted file]
crates/core_simd/src/type_i8x4.rs [deleted file]
crates/core_simd/src/type_i8x64.rs [deleted file]
crates/core_simd/src/type_i8x8.rs [deleted file]
crates/core_simd/src/type_isizex2.rs [deleted file]
crates/core_simd/src/type_isizex4.rs [deleted file]
crates/core_simd/src/type_isizex8.rs [deleted file]
crates/core_simd/src/type_u128x2.rs [deleted file]
crates/core_simd/src/type_u128x4.rs [deleted file]
crates/core_simd/src/type_u16x16.rs [deleted file]
crates/core_simd/src/type_u16x2.rs [deleted file]
crates/core_simd/src/type_u16x32.rs [deleted file]
crates/core_simd/src/type_u16x4.rs [deleted file]
crates/core_simd/src/type_u16x8.rs [deleted file]
crates/core_simd/src/type_u32x16.rs [deleted file]
crates/core_simd/src/type_u32x2.rs [deleted file]
crates/core_simd/src/type_u32x4.rs [deleted file]
crates/core_simd/src/type_u32x8.rs [deleted file]
crates/core_simd/src/type_u64x2.rs [deleted file]
crates/core_simd/src/type_u64x4.rs [deleted file]
crates/core_simd/src/type_u64x8.rs [deleted file]
crates/core_simd/src/type_u8x16.rs [deleted file]
crates/core_simd/src/type_u8x2.rs [deleted file]
crates/core_simd/src/type_u8x32.rs [deleted file]
crates/core_simd/src/type_u8x4.rs [deleted file]
crates/core_simd/src/type_u8x64.rs [deleted file]
crates/core_simd/src/type_u8x8.rs [deleted file]
crates/core_simd/src/type_usizex2.rs [deleted file]
crates/core_simd/src/type_usizex4.rs [deleted file]
crates/core_simd/src/type_usizex8.rs [deleted file]
crates/core_simd/src/vectors_f32.rs [new file with mode: 0644]
crates/core_simd/src/vectors_f64.rs [new file with mode: 0644]
crates/core_simd/src/vectors_i128.rs [new file with mode: 0644]
crates/core_simd/src/vectors_i16.rs [new file with mode: 0644]
crates/core_simd/src/vectors_i32.rs [new file with mode: 0644]
crates/core_simd/src/vectors_i64.rs [new file with mode: 0644]
crates/core_simd/src/vectors_i8.rs [new file with mode: 0644]
crates/core_simd/src/vectors_isize.rs [new file with mode: 0644]
crates/core_simd/src/vectors_u128.rs [new file with mode: 0644]
crates/core_simd/src/vectors_u16.rs [new file with mode: 0644]
crates/core_simd/src/vectors_u32.rs [new file with mode: 0644]
crates/core_simd/src/vectors_u64.rs [new file with mode: 0644]
crates/core_simd/src/vectors_u8.rs [new file with mode: 0644]
crates/core_simd/src/vectors_usize.rs [new file with mode: 0644]

index b4fc58476f8fa0b11c26c512f6d2f8864550776d..a5dae4b027921a018fd437ff2d96d8817bc0d780 100644 (file)
@@ -1,36 +1,35 @@
+#![no_std]
 #![feature(repr_simd)]
 #![warn(missing_docs)]
+
 #[macro_use]
 mod macros;
 
-macro_rules! import_types {
-    { $($mod:ident,)* } => {
-        $(
-        mod $mod;
-        pub use $mod::*;
-        )*
-    }
-}
-
-import_types! {
-    type_u8x2,   type_u8x4,   type_u8x8,   type_u8x16,   type_u8x32,   type_u8x64,
-    type_i8x2,   type_i8x4,   type_i8x8,   type_i8x16,   type_i8x32,   type_i8x64,
-    type_u16x2,  type_u16x4,  type_u16x8,  type_u16x16,  type_u16x32,
-    type_i16x2,  type_i16x4,  type_i16x8,  type_i16x16,  type_i16x32,
-    type_u32x2,  type_u32x4,  type_u32x8,  type_u32x16,
-    type_i32x2,  type_i32x4,  type_i32x8,  type_i32x16,
-    type_u64x2,  type_u64x4,  type_u64x8,
-    type_i64x2,  type_i64x4,  type_i64x8,
-    type_u128x2, type_u128x4,
-    type_i128x2, type_i128x4,
-}
-
-import_types! {
-    type_usizex2, type_usizex4, type_usizex8,
-    type_isizex2, type_isizex4, type_isizex8,
-}
-
-import_types! {
-    type_f32x2, type_f32x4, type_f32x8, type_f32x16,
-    type_f64x2, type_f64x4, type_f64x8,
-}
+mod vectors_u8;
+pub use vectors_u8::*;
+mod vectors_u16;
+pub use vectors_u16::*;
+mod vectors_u32;
+pub use vectors_u32::*;
+mod vectors_u64;
+pub use vectors_u64::*;
+mod vectors_u128;
+pub use vectors_u128::*;
+mod vectors_usize;
+pub use vectors_usize::*;
+mod vectors_i8;
+pub use vectors_i8::*;
+mod vectors_i16;
+pub use vectors_i16::*;
+mod vectors_i32;
+pub use vectors_i32::*;
+mod vectors_i64;
+pub use vectors_i64::*;
+mod vectors_i128;
+pub use vectors_i128::*;
+mod vectors_isize;
+pub use vectors_isize::*;
+mod vectors_f32;
+pub use vectors_f32::*;
+mod vectors_f64;
+pub use vectors_f64::*;
diff --git a/crates/core_simd/src/type_f32x16.rs b/crates/core_simd/src/type_f32x16.rs
deleted file mode 100644 (file)
index 45fb4a3..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-define_type! {
-    #[doc = "Vector of 16 `f32` types"]
-    struct f32x16([f32; 16]);
-}
-
-/*
-#[cfg(target_arch = "x86")]
-from_aligned! { unsafe f32x16 |bidirectional| core::arch::x86::__m512 }
-
-#[cfg(target_arch = "x86_64")]
-from_aligned! { unsafe f32x16 |bidirectional| core::arch::x86_64::__m512 }
-*/
diff --git a/crates/core_simd/src/type_f32x2.rs b/crates/core_simd/src/type_f32x2.rs
deleted file mode 100644 (file)
index 8b60a2e..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-define_type! {
-    #[doc = "Vector of two `f32` types"]
-    struct f32x2([f32; 2]);
-}
diff --git a/crates/core_simd/src/type_f32x4.rs b/crates/core_simd/src/type_f32x4.rs
deleted file mode 100644 (file)
index 452e607..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-define_type! {
-    #[doc = "Vector of four `f32` types"]
-    struct f32x4([f32; 4]);
-}
-
-#[cfg(target_arch = "x86")]
-from_aligned! { unsafe f32x4 |bidirectional| core::arch::x86::__m128 }
-
-#[cfg(target_arch = "x86_64")]
-from_aligned! { unsafe f32x4 |bidirectional| core::arch::x86_64::__m128 }
diff --git a/crates/core_simd/src/type_f32x8.rs b/crates/core_simd/src/type_f32x8.rs
deleted file mode 100644 (file)
index 790a546..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-define_type! {
-    #[doc = "Vector of eight `f32` types"]
-    struct f32x8([f32; 8]);
-}
-
-#[cfg(target_arch = "x86")]
-from_aligned! { unsafe f32x8 |bidirectional| core::arch::x86::__m256 }
-
-#[cfg(target_arch = "x86_64")]
-from_aligned! { unsafe f32x8 |bidirectional| core::arch::x86_64::__m256 }
diff --git a/crates/core_simd/src/type_f64x2.rs b/crates/core_simd/src/type_f64x2.rs
deleted file mode 100644 (file)
index 0c349f3..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-define_type! {
-    #[doc = "Vector of two `f64` types"]
-    struct f64x2([f64; 2]);
-}
-
-#[cfg(target_arch = "x86")]
-from_aligned! { unsafe f64x2 |bidirectional| core::arch::x86::__m128d }
-
-#[cfg(target_arch = "x86_64")]
-from_aligned! { unsafe f64x2 |bidirectional| core::arch::x86_64::__m128d }
diff --git a/crates/core_simd/src/type_f64x4.rs b/crates/core_simd/src/type_f64x4.rs
deleted file mode 100644 (file)
index ec6b46b..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-define_type! {
-    #[doc = "Vector of four `f64` types"]
-    struct f64x4([f64; 4]);
-}
-
-#[cfg(target_arch = "x86")]
-from_aligned! { unsafe f64x4 |bidirectional| core::arch::x86::__m256d }
-
-#[cfg(target_arch = "x86_64")]
-from_aligned! { unsafe f64x4 |bidirectional| core::arch::x86_64::__m256d }
diff --git a/crates/core_simd/src/type_f64x8.rs b/crates/core_simd/src/type_f64x8.rs
deleted file mode 100644 (file)
index dd65dc6..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-define_type! {
-    #[doc = "Vector of eight `f64` types"]
-    struct f64x8([f64; 8]);
-}
-
-/*
-#[cfg(target_arch = "x86")]
-from_aligned! { unsafe f64x8 |bidirectional| core::arch::x86::__m512d }
-
-#[cfg(target_arch = "x86_64")]
-from_aligned! { unsafe f64x8 |bidirectional| core::arch::x86_64::__m512d }
-*/
diff --git a/crates/core_simd/src/type_i128x2.rs b/crates/core_simd/src/type_i128x2.rs
deleted file mode 100644 (file)
index 1ac736d..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-define_type! {
-    #[doc = "Vector of two `i128` types"]
-    struct i128x2([i128; 2]);
-}
-
-#[cfg(target_arch = "x86")]
-from_aligned! { unsafe i128x2 |bidirectional| core::arch::x86::__m256i }
-
-#[cfg(target_arch = "x86_64")]
-from_aligned! { unsafe i128x2 |bidirectional| core::arch::x86_64::__m256i }
diff --git a/crates/core_simd/src/type_i128x4.rs b/crates/core_simd/src/type_i128x4.rs
deleted file mode 100644 (file)
index 6cef039..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-define_type! {
-    #[doc = "Vector of four `i128` types"]
-    struct i128x4([i128; 4]);
-}
-
-/*
-#[cfg(target_arch = "x86")]
-from_aligned! { unsafe i128x4 |bidirectional| core::arch::x86::__m512i }
-
-#[cfg(target_arch = "x86_64")]
-from_aligned! { unsafe i128x4 |bidirectional| core::arch::x86_64::__m512i }
-*/
diff --git a/crates/core_simd/src/type_i16x16.rs b/crates/core_simd/src/type_i16x16.rs
deleted file mode 100644 (file)
index 1721286..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-define_type! {
-    #[doc = "Vector of 16 `i16` types"]
-    struct i16x16([i16; 16]);
-}
-
-#[cfg(target_arch = "x86")]
-from_aligned! { unsafe i16x16 |bidirectional| core::arch::x86::__m256i }
-
-#[cfg(target_arch = "x86_64")]
-from_aligned! { unsafe i16x16 |bidirectional| core::arch::x86_64::__m256i }
diff --git a/crates/core_simd/src/type_i16x2.rs b/crates/core_simd/src/type_i16x2.rs
deleted file mode 100644 (file)
index 7ccbbe7..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-define_type! {
-    #[doc = "Vector of two `i16` types"]
-    struct i16x2([i16; 2]);
-}
diff --git a/crates/core_simd/src/type_i16x32.rs b/crates/core_simd/src/type_i16x32.rs
deleted file mode 100644 (file)
index 349d094..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-define_type! {
-    #[doc = "Vector of 32 `i16` types"]
-    struct i16x32([i16; 32]);
-}
-
-/*
-#[cfg(target_arch = "x86")]
-from_aligned! { unsafe u8x32 |bidirectional| core::arch::x86::__m512i }
-
-#[cfg(target_arch = "x86_64")]
-from_aligned! { unsafe u8x32 |bidirectional| core::arch::x86_64::__m512i }
-*/
diff --git a/crates/core_simd/src/type_i16x4.rs b/crates/core_simd/src/type_i16x4.rs
deleted file mode 100644 (file)
index 348bc4c..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-define_type! {
-    #[doc = "Vector of four `i16` types"]
-    struct i16x4([i16; 4]);
-}
diff --git a/crates/core_simd/src/type_i16x8.rs b/crates/core_simd/src/type_i16x8.rs
deleted file mode 100644 (file)
index 87ded0f..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-define_type! {
-    #[doc = "Vector of eight `i16` types"]
-    struct i16x8([i16; 8]);
-}
-
-#[cfg(target_arch = "x86")]
-from_aligned! { unsafe i16x8 |bidirectional| core::arch::x86::__m128i }
-
-#[cfg(target_arch = "x86_64")]
-from_aligned! { unsafe i16x8 |bidirectional| core::arch::x86_64::__m128i }
diff --git a/crates/core_simd/src/type_i32x16.rs b/crates/core_simd/src/type_i32x16.rs
deleted file mode 100644 (file)
index 7c52e9c..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-define_type! {
-    #[doc = "Vector of 16 `i32` types"]
-    struct i32x16([i32; 16]);
-}
-
-/*
-#[cfg(target_arch = "x86")]
-from_aligned! { unsafe u32x16 |bidirectional| core::arch::x86::__m512i }
-
-#[cfg(target_arch = "x86_64")]
-from_aligned! { unsafe u32x16 |bidirectional| core::arch::x86_64::__m512i }
-*/
diff --git a/crates/core_simd/src/type_i32x2.rs b/crates/core_simd/src/type_i32x2.rs
deleted file mode 100644 (file)
index e9845ae..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-define_type! {
-    #[doc = "Vector of two `i32` types"]
-    struct i32x2([i32; 2]);
-}
diff --git a/crates/core_simd/src/type_i32x4.rs b/crates/core_simd/src/type_i32x4.rs
deleted file mode 100644 (file)
index 47374f7..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-define_type! {
-    #[doc = "Vector of four `i32` types"]
-    struct i32x4([i32; 4]);
-}
-
-#[cfg(target_arch = "x86")]
-from_aligned! { unsafe i32x4 |bidirectional| core::arch::x86::__m128i }
-
-#[cfg(target_arch = "x86_64")]
-from_aligned! { unsafe i32x4 |bidirectional| core::arch::x86_64::__m128i }
diff --git a/crates/core_simd/src/type_i32x8.rs b/crates/core_simd/src/type_i32x8.rs
deleted file mode 100644 (file)
index 79b4ea1..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-define_type! {
-    #[doc = "Vector of eight `i32` types"]
-    struct i32x8([i32; 8]);
-}
-
-#[cfg(target_arch = "x86")]
-from_aligned! { unsafe i32x8 |bidirectional| core::arch::x86::__m256i }
-
-#[cfg(target_arch = "x86_64")]
-from_aligned! { unsafe i32x8 |bidirectional| core::arch::x86_64::__m256i }
diff --git a/crates/core_simd/src/type_i64x2.rs b/crates/core_simd/src/type_i64x2.rs
deleted file mode 100644 (file)
index 7268ad5..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-define_type! {
-    #[doc = "Vector of two `i64` types"]
-    struct i64x2([i64; 2]);
-}
-
-#[cfg(target_arch = "x86")]
-from_aligned! { unsafe i64x2 |bidirectional| core::arch::x86::__m128i }
-
-#[cfg(target_arch = "x86_64")]
-from_aligned! { unsafe i64x2 |bidirectional| core::arch::x86_64::__m128i }
diff --git a/crates/core_simd/src/type_i64x4.rs b/crates/core_simd/src/type_i64x4.rs
deleted file mode 100644 (file)
index 3535783..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-define_type! {
-    #[doc = "Vector of four `i64` types"]
-    struct i64x4([i64; 4]);
-}
-
-#[cfg(target_arch = "x86")]
-from_aligned! { unsafe i64x4 |bidirectional| core::arch::x86::__m256i }
-
-#[cfg(target_arch = "x86_64")]
-from_aligned! { unsafe i64x4 |bidirectional| core::arch::x86_64::__m256i }
diff --git a/crates/core_simd/src/type_i64x8.rs b/crates/core_simd/src/type_i64x8.rs
deleted file mode 100644 (file)
index 42d28db..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-define_type! {
-    #[doc = "Vector of eight `i64` types"]
-    struct i64x8([i64; 8]);
-}
-
-/*
-#[cfg(target_arch = "x86")]
-from_aligned! { unsafe i64x8 |bidirectional| core::arch::x86::__m512i }
-
-#[cfg(target_arch = "x86_64")]
-from_aligned! { unsafe i64x8 |bidirectional| core::arch::x86_64::__m512i }
-*/
diff --git a/crates/core_simd/src/type_i8x16.rs b/crates/core_simd/src/type_i8x16.rs
deleted file mode 100644 (file)
index d7aadd4..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-define_type! {
-    #[doc = "Vector of 16 `i8` types"]
-    struct i8x16([i8; 16]);
-}
-
-#[cfg(target_arch = "x86")]
-from_aligned! { unsafe i8x16 |bidirectional| core::arch::x86::__m128i }
-
-#[cfg(target_arch = "x86_64")]
-from_aligned! { unsafe i8x16 |bidirectional| core::arch::x86_64::__m128i }
diff --git a/crates/core_simd/src/type_i8x2.rs b/crates/core_simd/src/type_i8x2.rs
deleted file mode 100644 (file)
index aca2299..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-define_type! {
-    #[doc = "Vector of two `i8` types"]
-    struct i8x2([i8; 2]);
-}
diff --git a/crates/core_simd/src/type_i8x32.rs b/crates/core_simd/src/type_i8x32.rs
deleted file mode 100644 (file)
index a323565..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-define_type! {
-    #[doc = "Vector of 32 `i8` types"]
-    struct i8x32([i8; 32]);
-}
-
-#[cfg(target_arch = "x86")]
-from_aligned! { unsafe i8x32 |bidirectional| core::arch::x86::__m256i }
-
-#[cfg(target_arch = "x86_64")]
-from_aligned! { unsafe i8x32 |bidirectional| core::arch::x86_64::__m256i }
diff --git a/crates/core_simd/src/type_i8x4.rs b/crates/core_simd/src/type_i8x4.rs
deleted file mode 100644 (file)
index 246703e..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-define_type! {
-    #[doc = "Vector of four `i8` types"]
-    struct i8x4([i8; 4]);
-}
diff --git a/crates/core_simd/src/type_i8x64.rs b/crates/core_simd/src/type_i8x64.rs
deleted file mode 100644 (file)
index 26934df..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-define_type! {
-    #[doc = "Vector of 64 `i8` types"]
-    struct i8x64([i8; 64]);
-}
-
-/*
-#[cfg(target_arch = "x86")]
-from_aligned! { unsafe u8x64 |bidirectional| core::arch::x86::__m512i }
-
-#[cfg(target_arch = "x86_64")]
-from_aligned! { unsafe u8x64 |bidirectional| core::arch::x86_64::__m512i }
-*/
diff --git a/crates/core_simd/src/type_i8x8.rs b/crates/core_simd/src/type_i8x8.rs
deleted file mode 100644 (file)
index bc30e2d..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-define_type! {
-    #[doc = "Vector of eight `i8` types"]
-    struct i8x8([i8; 8]);
-}
diff --git a/crates/core_simd/src/type_isizex2.rs b/crates/core_simd/src/type_isizex2.rs
deleted file mode 100644 (file)
index 464f649..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-define_type! {
-    #[doc = "Vector of two `isize` types"]
-    struct isizex2([isize; 2]);
-}
-
-#[cfg(all(target_arch = "x86", target_pointer_width = "64"))]
-from_aligned! { unsafe isizex2 |bidirectional| core::arch::x86::__m128i }
-
-#[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))]
-from_aligned! { unsafe isizex2 |bidirectional| core::arch::x86_64::__m128i }
diff --git a/crates/core_simd/src/type_isizex4.rs b/crates/core_simd/src/type_isizex4.rs
deleted file mode 100644 (file)
index 3be4573..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-define_type! {
-    #[doc = "Vector of four `isize` types"]
-    struct isizex4([isize; 4]);
-}
-
-#[cfg(all(target_arch = "x86", target_pointer_width = "32"))]
-from_aligned! { unsafe isizex4 |bidirectional| core::arch::x86::__m128i }
-
-#[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))]
-from_aligned! { unsafe isizex4 |bidirectional| core::arch::x86_64::__m128i }
-
-#[cfg(all(target_arch = "x86", target_pointer_width = "64"))]
-from_aligned! { unsafe isizex4 |bidirectional| core::arch::x86::__m256i }
-
-#[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))]
-from_aligned! { unsafe isizex4 |bidirectional| core::arch::x86_64::__m256i }
diff --git a/crates/core_simd/src/type_isizex8.rs b/crates/core_simd/src/type_isizex8.rs
deleted file mode 100644 (file)
index e21c2cf..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-define_type! {
-    #[doc = "Vector of eight `isize` types"]
-    struct isizex8([isize; 8]);
-}
-
-#[cfg(all(target_arch = "x86", target_pointer_width = "32"))]
-from_aligned! { unsafe isizex8 |bidirectional| core::arch::x86::__m256i }
-
-#[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))]
-from_aligned! { unsafe isizex8 |bidirectional| core::arch::x86_64::__m256i }
-
-/*
-#[cfg(all(target_arch = "x86", target_pointer_width = "64"))]
-from_aligned! { unsafe isizex8 |bidirectional| core::arch::x86::__m512i }
-
-#[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))]
-from_aligned! { unsafe isizex8 |bidirectional| core::arch::x86_64::__m512i }
-*/
diff --git a/crates/core_simd/src/type_u128x2.rs b/crates/core_simd/src/type_u128x2.rs
deleted file mode 100644 (file)
index f448e4f..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-define_type! {
-    #[doc = "Vector of two `u128` types"]
-    struct u128x2([u128; 2]);
-}
-
-#[cfg(target_arch = "x86")]
-from_aligned! { unsafe u128x2 |bidirectional| core::arch::x86::__m256i }
-
-#[cfg(target_arch = "x86_64")]
-from_aligned! { unsafe u128x2 |bidirectional| core::arch::x86_64::__m256i }
diff --git a/crates/core_simd/src/type_u128x4.rs b/crates/core_simd/src/type_u128x4.rs
deleted file mode 100644 (file)
index 07466c7..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-define_type! {
-    #[doc = "Vector of four `u128` types"]
-    struct u128x4([u128; 4]);
-}
-
-/*
-#[cfg(target_arch = "x86")]
-from_aligned! { unsafe u128x4 |bidirectional| core::arch::x86::__m512i }
-
-#[cfg(target_arch = "x86_64")]
-from_aligned! { unsafe u128x4 |bidirectional| core::arch::x86_64::__m512i }
-*/
diff --git a/crates/core_simd/src/type_u16x16.rs b/crates/core_simd/src/type_u16x16.rs
deleted file mode 100644 (file)
index 5460c37..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-define_type! {
-    #[doc = "Vector of 16 `u16` types"]
-    struct u16x16([u16; 16]);
-}
-
-#[cfg(target_arch = "x86")]
-from_aligned! { unsafe u16x16 |bidirectional| core::arch::x86::__m256i }
-
-#[cfg(target_arch = "x86_64")]
-from_aligned! { unsafe u16x16 |bidirectional| core::arch::x86_64::__m256i }
diff --git a/crates/core_simd/src/type_u16x2.rs b/crates/core_simd/src/type_u16x2.rs
deleted file mode 100644 (file)
index 480be8b..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-define_type! {
-    #[doc = "Vector of two `u16` types"]
-    struct u16x2([u16; 2]);
-}
diff --git a/crates/core_simd/src/type_u16x32.rs b/crates/core_simd/src/type_u16x32.rs
deleted file mode 100644 (file)
index 67d6053..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-define_type! {
-    #[doc = "Vector of 32 `u16` types"]
-    struct u16x32([u16; 32]);
-}
-
-/*
-#[cfg(target_arch = "x86")]
-from_aligned! { unsafe u16x32 |bidirectional| core::arch::x86::__m512i }
-
-#[cfg(target_arch = "x86_64")]
-from_aligned! { unsafe u16x32 |bidirectional| core::arch::x86_64::__m512i }
-*/
diff --git a/crates/core_simd/src/type_u16x4.rs b/crates/core_simd/src/type_u16x4.rs
deleted file mode 100644 (file)
index 8748913..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-define_type! {
-    #[doc = "Vector of four `u16` types"]
-    struct u16x4([u16; 4]);
-}
diff --git a/crates/core_simd/src/type_u16x8.rs b/crates/core_simd/src/type_u16x8.rs
deleted file mode 100644 (file)
index 5ba0af1..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-define_type! {
-    #[doc = "Vector of eight `u16` types"]
-    struct u16x8([u16; 8]);
-}
-
-#[cfg(target_arch = "x86")]
-from_aligned! { unsafe u16x8 |bidirectional| core::arch::x86::__m128i }
-
-#[cfg(target_arch = "x86_64")]
-from_aligned! { unsafe u16x8 |bidirectional| core::arch::x86_64::__m128i }
diff --git a/crates/core_simd/src/type_u32x16.rs b/crates/core_simd/src/type_u32x16.rs
deleted file mode 100644 (file)
index 40e557b..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-define_type! {
-    #[doc = "Vector of 16 `u32` types"]
-    struct u32x16([u32; 16]);
-}
-
-/*
-#[cfg(target_arch = "x86")]
-from_aligned! { unsafe u32x16 |bidirectional| core::arch::x86::__m512i }
-
-#[cfg(target_arch = "x86_64")]
-from_aligned! { unsafe u32x16 |bidirectional| core::arch::x86_64::__m512i }
-*/
diff --git a/crates/core_simd/src/type_u32x2.rs b/crates/core_simd/src/type_u32x2.rs
deleted file mode 100644 (file)
index 001fd31..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-define_type! {
-    #[doc = "Vector of two `u32` types"]
-    struct u32x2([u32; 2]);
-}
diff --git a/crates/core_simd/src/type_u32x4.rs b/crates/core_simd/src/type_u32x4.rs
deleted file mode 100644 (file)
index 0582b51..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-define_type! {
-    #[doc = "Vector of four `u32` types"]
-    struct u32x4([u32; 4]);
-}
-
-#[cfg(target_arch = "x86")]
-from_aligned! { unsafe u32x4 |bidirectional| core::arch::x86::__m128i }
-
-#[cfg(target_arch = "x86_64")]
-from_aligned! { unsafe u32x4 |bidirectional| core::arch::x86_64::__m128i }
diff --git a/crates/core_simd/src/type_u32x8.rs b/crates/core_simd/src/type_u32x8.rs
deleted file mode 100644 (file)
index 686833c..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-define_type! {
-    #[doc = "Vector of eight `u32` types"]
-    struct u32x8([u32; 8]);
-}
-
-#[cfg(target_arch = "x86")]
-from_aligned! { unsafe u32x8 |bidirectional| core::arch::x86::__m256i }
-
-#[cfg(target_arch = "x86_64")]
-from_aligned! { unsafe u32x8 |bidirectional| core::arch::x86_64::__m256i }
diff --git a/crates/core_simd/src/type_u64x2.rs b/crates/core_simd/src/type_u64x2.rs
deleted file mode 100644 (file)
index e3ba3dc..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-define_type! {
-    #[doc = "Vector of two `u64` types"]
-    struct u64x2([u64; 2]);
-}
-
-#[cfg(target_arch = "x86")]
-from_aligned! { unsafe u64x2 |bidirectional| core::arch::x86::__m128i }
-
-#[cfg(target_arch = "x86_64")]
-from_aligned! { unsafe u64x2 |bidirectional| core::arch::x86_64::__m128i }
diff --git a/crates/core_simd/src/type_u64x4.rs b/crates/core_simd/src/type_u64x4.rs
deleted file mode 100644 (file)
index 005f260..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-define_type! {
-    #[doc = "Vector of four `u64` types"]
-    struct u64x4([u64; 4]);
-}
-
-#[cfg(target_arch = "x86")]
-from_aligned! { unsafe u64x4 |bidirectional| core::arch::x86::__m256i }
-
-#[cfg(target_arch = "x86_64")]
-from_aligned! { unsafe u64x4 |bidirectional| core::arch::x86_64::__m256i }
diff --git a/crates/core_simd/src/type_u64x8.rs b/crates/core_simd/src/type_u64x8.rs
deleted file mode 100644 (file)
index fbb41f3..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-define_type! {
-    #[doc = "Vector of eight `u64` types"]
-    struct u64x8([u64; 8]);
-}
-
-/*
-#[cfg(target_arch = "x86")]
-from_aligned! { unsafe u64x8 |bidirectional| core::arch::x86::__m512i }
-
-#[cfg(target_arch = "x86_64")]
-from_aligned! { unsafe u64x8 |bidirectional| core::arch::x86_64::__m512i }
-*/
diff --git a/crates/core_simd/src/type_u8x16.rs b/crates/core_simd/src/type_u8x16.rs
deleted file mode 100644 (file)
index a44b74c..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-define_type! {
-    #[doc = "Vector of 16 `u8` types"]
-    struct u8x16([u8; 16]);
-}
-
-#[cfg(target_arch = "x86")]
-from_aligned! { unsafe u8x16 |bidirectional| core::arch::x86::__m128i }
-
-#[cfg(target_arch = "x86_64")]
-from_aligned! { unsafe u8x16 |bidirectional| core::arch::x86_64::__m128i }
diff --git a/crates/core_simd/src/type_u8x2.rs b/crates/core_simd/src/type_u8x2.rs
deleted file mode 100644 (file)
index c6162cc..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-define_type! {
-    #[doc = "Vector of two `u8` types"]
-    struct u8x2([u8; 2]);
-}
diff --git a/crates/core_simd/src/type_u8x32.rs b/crates/core_simd/src/type_u8x32.rs
deleted file mode 100644 (file)
index 0122868..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-define_type! {
-    #[doc = "Vector of 32 `u8` types"]
-    struct u8x32([u8; 32]);
-}
-
-#[cfg(target_arch = "x86")]
-from_aligned! { unsafe u8x32 |bidirectional| core::arch::x86::__m256i }
-
-#[cfg(target_arch = "x86_64")]
-from_aligned! { unsafe u8x32 |bidirectional| core::arch::x86_64::__m256i }
diff --git a/crates/core_simd/src/type_u8x4.rs b/crates/core_simd/src/type_u8x4.rs
deleted file mode 100644 (file)
index ecdffa1..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-define_type! {
-    #[doc = "Vector of four `u8` types"]
-    struct u8x4([u8; 4]);
-}
diff --git a/crates/core_simd/src/type_u8x64.rs b/crates/core_simd/src/type_u8x64.rs
deleted file mode 100644 (file)
index 6f05f08..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-define_type! {
-    #[doc = "Vector of 64 `u8` types"]
-    struct u8x64([u8; 64]);
-}
-
-/*
-#[cfg(target_arch = "x86")]
-from_aligned! { unsafe u8x64 |bidirectional| core::arch::x86::__m512i }
-
-#[cfg(target_arch = "x86_64")]
-from_aligned! { unsafe u8x64 |bidirectional| core::arch::x86_64::__m512i }
-*/
diff --git a/crates/core_simd/src/type_u8x8.rs b/crates/core_simd/src/type_u8x8.rs
deleted file mode 100644 (file)
index 7810ac7..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-define_type! {
-    #[doc = "Vector of eight `u8` types"]
-    struct u8x8([u8; 8]);
-}
diff --git a/crates/core_simd/src/type_usizex2.rs b/crates/core_simd/src/type_usizex2.rs
deleted file mode 100644 (file)
index 218d5a1..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-define_type! {
-    #[doc = "Vector of two `usize` types"]
-    struct usizex2([usize; 2]);
-}
-
-#[cfg(all(target_arch = "x86", target_pointer_width = "64"))]
-from_aligned! { unsafe usizex2 |bidirectional| core::arch::x86::__m128i }
-
-#[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))]
-from_aligned! { unsafe usizex2 |bidirectional| core::arch::x86_64::__m128i }
diff --git a/crates/core_simd/src/type_usizex4.rs b/crates/core_simd/src/type_usizex4.rs
deleted file mode 100644 (file)
index 60160ec..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-define_type! {
-    #[doc = "Vector of four `usize` types"]
-    struct usizex4([usize; 4]);
-}
-
-#[cfg(all(target_arch = "x86", target_pointer_width = "32"))]
-from_aligned! { unsafe usizex4 |bidirectional| core::arch::x86::__m128i }
-
-#[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))]
-from_aligned! { unsafe usizex4 |bidirectional| core::arch::x86_64::__m128i }
-
-#[cfg(all(target_arch = "x86", target_pointer_width = "64"))]
-from_aligned! { unsafe usizex4 |bidirectional| core::arch::x86::__m256i }
-
-#[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))]
-from_aligned! { unsafe usizex4 |bidirectional| core::arch::x86_64::__m256i }
diff --git a/crates/core_simd/src/type_usizex8.rs b/crates/core_simd/src/type_usizex8.rs
deleted file mode 100644 (file)
index 5f5a445..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-define_type! {
-    #[doc = "Vector of eight `usize` types"]
-    struct usizex8([usize; 8]);
-}
-
-#[cfg(all(target_arch = "x86", target_pointer_width = "32"))]
-from_aligned! { unsafe usizex8 |bidirectional| core::arch::x86::__m256i }
-
-#[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))]
-from_aligned! { unsafe usizex8 |bidirectional| core::arch::x86_64::__m256i }
-
-/*
-#[cfg(all(target_arch = "x86", target_pointer_width = "64"))]
-from_aligned! { unsafe usizex8 |bidirectional| core::arch::x86::__m512i }
-
-#[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))]
-from_aligned! { unsafe usizex8 |bidirectional| core::arch::x86_64::__m512i }
-*/
diff --git a/crates/core_simd/src/vectors_f32.rs b/crates/core_simd/src/vectors_f32.rs
new file mode 100644 (file)
index 0000000..fe24ec6
--- /dev/null
@@ -0,0 +1,39 @@
+define_type! {
+    #[doc = "Vector of two `f32` values"]
+    struct f32x2([f32; 2]);
+}
+
+define_type! {
+    #[doc = "Vector of four `f32` values"]
+    struct f32x4([f32; 4]);
+}
+
+define_type! {
+    #[doc = "Vector of eight `f32` values"]
+    struct f32x8([f32; 8]);
+}
+
+define_type! {
+    #[doc = "Vector of 16 `f32` values"]
+    struct f32x16([f32; 16]);
+}
+
+#[cfg(target_arch = "x86")]
+from_aligned! { unsafe f32x4 |bidirectional| core::arch::x86::__m128 }
+
+#[cfg(target_arch = "x86_64")]
+from_aligned! { unsafe f32x4 |bidirectional| core::arch::x86_64::__m128 }
+
+#[cfg(target_arch = "x86")]
+from_aligned! { unsafe f32x8 |bidirectional| core::arch::x86::__m256 }
+
+#[cfg(target_arch = "x86_64")]
+from_aligned! { unsafe f32x8 |bidirectional| core::arch::x86_64::__m256 }
+
+/*
+#[cfg(target_arch = "x86")]
+from_aligned! { unsafe f32x16 |bidirectional| core::arch::x86::__m512 }
+
+#[cfg(target_arch = "x86_64")]
+from_aligned! { unsafe f32x16 |bidirectional| core::arch::x86_64::__m512 }
+*/
diff --git a/crates/core_simd/src/vectors_f64.rs b/crates/core_simd/src/vectors_f64.rs
new file mode 100644 (file)
index 0000000..8934cec
--- /dev/null
@@ -0,0 +1,34 @@
+define_type! {
+    #[doc = "Vector of two `f64` values"]
+    struct f64x2([f64; 2]);
+}
+
+define_type! {
+    #[doc = "Vector of four `f64` values"]
+    struct f64x4([f64; 4]);
+}
+
+define_type! {
+    #[doc = "Vector of eight `f64` values"]
+    struct f64x8([f64; 8]);
+}
+
+#[cfg(target_arch = "x86")]
+from_aligned! { unsafe f64x2 |bidirectional| core::arch::x86::__m128d }
+
+#[cfg(target_arch = "x86_64")]
+from_aligned! { unsafe f64x2 |bidirectional| core::arch::x86_64::__m128d }
+
+#[cfg(target_arch = "x86")]
+from_aligned! { unsafe f64x4 |bidirectional| core::arch::x86::__m256d }
+
+#[cfg(target_arch = "x86_64")]
+from_aligned! { unsafe f64x4 |bidirectional| core::arch::x86_64::__m256d }
+
+/*
+#[cfg(target_arch = "x86")]
+from_aligned! { unsafe f64x8 |bidirectional| core::arch::x86::__m512d }
+
+#[cfg(target_arch = "x86_64")]
+from_aligned! { unsafe f64x8 |bidirectional| core::arch::x86_64::__m512d }
+*/
diff --git a/crates/core_simd/src/vectors_i128.rs b/crates/core_simd/src/vectors_i128.rs
new file mode 100644 (file)
index 0000000..1cdd3c9
--- /dev/null
@@ -0,0 +1,23 @@
+define_type! {
+    #[doc = "Vector of two `i128` values"]
+    struct i128x2([i128; 2]);
+}
+
+define_type! {
+    #[doc = "Vector of four `i128` values"]
+    struct i128x4([i128; 4]);
+}
+
+#[cfg(target_arch = "x86")]
+from_aligned! { unsafe i128x2 |bidirectional| core::arch::x86::__m256i }
+
+#[cfg(target_arch = "x86_64")]
+from_aligned! { unsafe i128x2 |bidirectional| core::arch::x86_64::__m256i }
+
+/*
+#[cfg(target_arch = "x86")]
+from_aligned! { unsafe i128x4 |bidirectional| core::arch::x86::__m512i }
+
+#[cfg(target_arch = "x86_64")]
+from_aligned! { unsafe i128x4 |bidirectional| core::arch::x86_64::__m512i }
+*/
diff --git a/crates/core_simd/src/vectors_i16.rs b/crates/core_simd/src/vectors_i16.rs
new file mode 100644 (file)
index 0000000..724fe7e
--- /dev/null
@@ -0,0 +1,44 @@
+define_type! {
+    #[doc = "Vector of two `i16` values"]
+    struct i16x2([i16; 2]);
+}
+
+define_type! {
+    #[doc = "Vector of four `i16` values"]
+    struct i16x4([i16; 4]);
+}
+
+define_type! {
+    #[doc = "Vector of eight `i16` values"]
+    struct i16x8([i16; 8]);
+}
+
+define_type! {
+    #[doc = "Vector of 16 `i16` values"]
+    struct i16x16([i16; 16]);
+}
+
+define_type! {
+    #[doc = "Vector of 32 `i16` values"]
+    struct i16x32([i16; 32]);
+}
+
+#[cfg(target_arch = "x86")]
+from_aligned! { unsafe i16x8 |bidirectional| core::arch::x86::__m128i }
+
+#[cfg(target_arch = "x86_64")]
+from_aligned! { unsafe i16x8 |bidirectional| core::arch::x86_64::__m128i }
+
+#[cfg(target_arch = "x86")]
+from_aligned! { unsafe i16x16 |bidirectional| core::arch::x86::__m256i }
+
+#[cfg(target_arch = "x86_64")]
+from_aligned! { unsafe i16x16 |bidirectional| core::arch::x86_64::__m256i }
+
+/*
+#[cfg(target_arch = "x86")]
+from_aligned! { unsafe u8x32 |bidirectional| core::arch::x86::__m512i }
+
+#[cfg(target_arch = "x86_64")]
+from_aligned! { unsafe u8x32 |bidirectional| core::arch::x86_64::__m512i }
+*/
diff --git a/crates/core_simd/src/vectors_i32.rs b/crates/core_simd/src/vectors_i32.rs
new file mode 100644 (file)
index 0000000..c3af621
--- /dev/null
@@ -0,0 +1,39 @@
+define_type! {
+    #[doc = "Vector of two `i32` values"]
+    struct i32x2([i32; 2]);
+}
+
+define_type! {
+    #[doc = "Vector of four `i32` values"]
+    struct i32x4([i32; 4]);
+}
+
+define_type! {
+    #[doc = "Vector of eight `i32` values"]
+    struct i32x8([i32; 8]);
+}
+
+define_type! {
+    #[doc = "Vector of 16 `i32` values"]
+    struct i32x16([i32; 16]);
+}
+
+#[cfg(target_arch = "x86")]
+from_aligned! { unsafe i32x4 |bidirectional| core::arch::x86::__m128i }
+
+#[cfg(target_arch = "x86_64")]
+from_aligned! { unsafe i32x4 |bidirectional| core::arch::x86_64::__m128i }
+
+#[cfg(target_arch = "x86")]
+from_aligned! { unsafe i32x8 |bidirectional| core::arch::x86::__m256i }
+
+#[cfg(target_arch = "x86_64")]
+from_aligned! { unsafe i32x8 |bidirectional| core::arch::x86_64::__m256i }
+
+/*
+#[cfg(target_arch = "x86")]
+from_aligned! { unsafe u32x16 |bidirectional| core::arch::x86::__m512i }
+
+#[cfg(target_arch = "x86_64")]
+from_aligned! { unsafe u32x16 |bidirectional| core::arch::x86_64::__m512i }
+*/
diff --git a/crates/core_simd/src/vectors_i64.rs b/crates/core_simd/src/vectors_i64.rs
new file mode 100644 (file)
index 0000000..8c6c9d9
--- /dev/null
@@ -0,0 +1,34 @@
+define_type! {
+    #[doc = "Vector of two `i64` values"]
+    struct i64x2([i64; 2]);
+}
+
+define_type! {
+    #[doc = "Vector of four `i64` values"]
+    struct i64x4([i64; 4]);
+}
+
+define_type! {
+    #[doc = "Vector of eight `i64` values"]
+    struct i64x8([i64; 8]);
+}
+
+#[cfg(target_arch = "x86")]
+from_aligned! { unsafe i64x2 |bidirectional| core::arch::x86::__m128i }
+
+#[cfg(target_arch = "x86_64")]
+from_aligned! { unsafe i64x2 |bidirectional| core::arch::x86_64::__m128i }
+
+#[cfg(target_arch = "x86")]
+from_aligned! { unsafe i64x4 |bidirectional| core::arch::x86::__m256i }
+
+#[cfg(target_arch = "x86_64")]
+from_aligned! { unsafe i64x4 |bidirectional| core::arch::x86_64::__m256i }
+
+/*
+#[cfg(target_arch = "x86")]
+from_aligned! { unsafe i64x8 |bidirectional| core::arch::x86::__m512i }
+
+#[cfg(target_arch = "x86_64")]
+from_aligned! { unsafe i64x8 |bidirectional| core::arch::x86_64::__m512i }
+*/
diff --git a/crates/core_simd/src/vectors_i8.rs b/crates/core_simd/src/vectors_i8.rs
new file mode 100644 (file)
index 0000000..3400259
--- /dev/null
@@ -0,0 +1,49 @@
+define_type! {
+    #[doc = "Vector of two `i8` values"]
+    struct i8x2([i8; 2]);
+}
+
+define_type! {
+    #[doc = "Vector of four `i8` values"]
+    struct i8x4([i8; 4]);
+}
+
+define_type! {
+    #[doc = "Vector of eight `i8` values"]
+    struct i8x8([i8; 8]);
+}
+
+define_type! {
+    #[doc = "Vector of 16 `i8` values"]
+    struct i8x16([i8; 16]);
+}
+
+define_type! {
+    #[doc = "Vector of 32 `i8` values"]
+    struct i8x32([i8; 32]);
+}
+
+define_type! {
+    #[doc = "Vector of 64 `i8` values"]
+    struct i8x64([i8; 64]);
+}
+
+#[cfg(target_arch = "x86")]
+from_aligned! { unsafe i8x16 |bidirectional| core::arch::x86::__m128i }
+
+#[cfg(target_arch = "x86_64")]
+from_aligned! { unsafe i8x16 |bidirectional| core::arch::x86_64::__m128i }
+
+#[cfg(target_arch = "x86")]
+from_aligned! { unsafe i8x32 |bidirectional| core::arch::x86::__m256i }
+
+#[cfg(target_arch = "x86_64")]
+from_aligned! { unsafe i8x32 |bidirectional| core::arch::x86_64::__m256i }
+
+/*
+#[cfg(target_arch = "x86")]
+from_aligned! { unsafe u8x64 |bidirectional| core::arch::x86::__m512i }
+
+#[cfg(target_arch = "x86_64")]
+from_aligned! { unsafe u8x64 |bidirectional| core::arch::x86_64::__m512i }
+*/
diff --git a/crates/core_simd/src/vectors_isize.rs b/crates/core_simd/src/vectors_isize.rs
new file mode 100644 (file)
index 0000000..60f4aad
--- /dev/null
@@ -0,0 +1,46 @@
+define_type! {
+    #[doc = "Vector of two `isize` values"]
+    struct isizex2([isize; 2]);
+}
+
+define_type! {
+    #[doc = "Vector of four `isize` values"]
+    struct isizex4([isize; 4]);
+}
+
+define_type! {
+    #[doc = "Vector of eight `isize` values"]
+    struct isizex8([isize; 8]);
+}
+
+#[cfg(all(target_arch = "x86", target_pointer_width = "32"))]
+from_aligned! { unsafe isizex4 |bidirectional| core::arch::x86::__m128i }
+
+#[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))]
+from_aligned! { unsafe isizex4 |bidirectional| core::arch::x86_64::__m128i }
+
+#[cfg(all(target_arch = "x86", target_pointer_width = "32"))]
+from_aligned! { unsafe isizex8 |bidirectional| core::arch::x86::__m256i }
+
+#[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))]
+from_aligned! { unsafe isizex8 |bidirectional| core::arch::x86_64::__m256i }
+
+#[cfg(all(target_arch = "x86", target_pointer_width = "64"))]
+from_aligned! { unsafe isizex2 |bidirectional| core::arch::x86::__m128i }
+
+#[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))]
+from_aligned! { unsafe isizex2 |bidirectional| core::arch::x86_64::__m128i }
+
+#[cfg(all(target_arch = "x86", target_pointer_width = "64"))]
+from_aligned! { unsafe isizex4 |bidirectional| core::arch::x86::__m256i }
+
+#[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))]
+from_aligned! { unsafe isizex4 |bidirectional| core::arch::x86_64::__m256i }
+
+/*
+#[cfg(all(target_arch = "x86", target_pointer_width = "64"))]
+from_aligned! { unsafe isizex8 |bidirectional| core::arch::x86::__m512i }
+
+#[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))]
+from_aligned! { unsafe isizex8 |bidirectional| core::arch::x86_64::__m512i }
+*/
diff --git a/crates/core_simd/src/vectors_u128.rs b/crates/core_simd/src/vectors_u128.rs
new file mode 100644 (file)
index 0000000..01a1a30
--- /dev/null
@@ -0,0 +1,23 @@
+define_type! {
+    #[doc = "Vector of two `u128` values"]
+    struct u128x2([u128; 2]);
+}
+
+define_type! {
+    #[doc = "Vector of four `u128` values"]
+    struct u128x4([u128; 4]);
+}
+
+#[cfg(target_arch = "x86")]
+from_aligned! { unsafe u128x2 |bidirectional| core::arch::x86::__m256i }
+
+#[cfg(target_arch = "x86_64")]
+from_aligned! { unsafe u128x2 |bidirectional| core::arch::x86_64::__m256i }
+
+/*
+#[cfg(target_arch = "x86")]
+from_aligned! { unsafe u128x4 |bidirectional| core::arch::x86::__m512i }
+
+#[cfg(target_arch = "x86_64")]
+from_aligned! { unsafe u128x4 |bidirectional| core::arch::x86_64::__m512i }
+*/
diff --git a/crates/core_simd/src/vectors_u16.rs b/crates/core_simd/src/vectors_u16.rs
new file mode 100644 (file)
index 0000000..00ae479
--- /dev/null
@@ -0,0 +1,44 @@
+define_type! {
+    #[doc = "Vector of two `u16` values"]
+    struct u16x2([u16; 2]);
+}
+
+define_type! {
+    #[doc = "Vector of four `u16` values"]
+    struct u16x4([u16; 4]);
+}
+
+define_type! {
+    #[doc = "Vector of eight `u16` values"]
+    struct u16x8([u16; 8]);
+}
+
+define_type! {
+    #[doc = "Vector of 16 `u16` values"]
+    struct u16x16([u16; 16]);
+}
+
+define_type! {
+    #[doc = "Vector of 32 `u16` values"]
+    struct u16x32([u16; 32]);
+}
+
+#[cfg(target_arch = "x86")]
+from_aligned! { unsafe u16x8 |bidirectional| core::arch::x86::__m128i }
+
+#[cfg(target_arch = "x86_64")]
+from_aligned! { unsafe u16x8 |bidirectional| core::arch::x86_64::__m128i }
+
+#[cfg(target_arch = "x86")]
+from_aligned! { unsafe u16x16 |bidirectional| core::arch::x86::__m256i }
+
+#[cfg(target_arch = "x86_64")]
+from_aligned! { unsafe u16x16 |bidirectional| core::arch::x86_64::__m256i }
+
+/*
+#[cfg(target_arch = "x86")]
+from_aligned! { unsafe u16x32 |bidirectional| core::arch::x86::__m512i }
+
+#[cfg(target_arch = "x86_64")]
+from_aligned! { unsafe u16x32 |bidirectional| core::arch::x86_64::__m512i }
+*/
diff --git a/crates/core_simd/src/vectors_u32.rs b/crates/core_simd/src/vectors_u32.rs
new file mode 100644 (file)
index 0000000..c45db36
--- /dev/null
@@ -0,0 +1,39 @@
+define_type! {
+    #[doc = "Vector of two `u32` values"]
+    struct u32x2([u32; 2]);
+}
+
+define_type! {
+    #[doc = "Vector of four `u32` values"]
+    struct u32x4([u32; 4]);
+}
+
+define_type! {
+    #[doc = "Vector of eight `u32` values"]
+    struct u32x8([u32; 8]);
+}
+
+define_type! {
+    #[doc = "Vector of 16 `u32` values"]
+    struct u32x16([u32; 16]);
+}
+
+#[cfg(target_arch = "x86")]
+from_aligned! { unsafe u32x4 |bidirectional| core::arch::x86::__m128i }
+
+#[cfg(target_arch = "x86_64")]
+from_aligned! { unsafe u32x4 |bidirectional| core::arch::x86_64::__m128i }
+
+#[cfg(target_arch = "x86")]
+from_aligned! { unsafe u32x8 |bidirectional| core::arch::x86::__m256i }
+
+#[cfg(target_arch = "x86_64")]
+from_aligned! { unsafe u32x8 |bidirectional| core::arch::x86_64::__m256i }
+
+/*
+#[cfg(target_arch = "x86")]
+from_aligned! { unsafe u32x16 |bidirectional| core::arch::x86::__m512i }
+
+#[cfg(target_arch = "x86_64")]
+from_aligned! { unsafe u32x16 |bidirectional| core::arch::x86_64::__m512i }
+*/
diff --git a/crates/core_simd/src/vectors_u64.rs b/crates/core_simd/src/vectors_u64.rs
new file mode 100644 (file)
index 0000000..4c8b951
--- /dev/null
@@ -0,0 +1,34 @@
+define_type! {
+    #[doc = "Vector of two `u64` values"]
+    struct u64x2([u64; 2]);
+}
+
+define_type! {
+    #[doc = "Vector of four `u64` values"]
+    struct u64x4([u64; 4]);
+}
+
+define_type! {
+    #[doc = "Vector of eight `u64` values"]
+    struct u64x8([u64; 8]);
+}
+
+#[cfg(target_arch = "x86")]
+from_aligned! { unsafe u64x2 |bidirectional| core::arch::x86::__m128i }
+
+#[cfg(target_arch = "x86_64")]
+from_aligned! { unsafe u64x2 |bidirectional| core::arch::x86_64::__m128i }
+
+#[cfg(target_arch = "x86")]
+from_aligned! { unsafe u64x4 |bidirectional| core::arch::x86::__m256i }
+
+#[cfg(target_arch = "x86_64")]
+from_aligned! { unsafe u64x4 |bidirectional| core::arch::x86_64::__m256i }
+
+/*
+#[cfg(target_arch = "x86")]
+from_aligned! { unsafe u64x8 |bidirectional| core::arch::x86::__m512i }
+
+#[cfg(target_arch = "x86_64")]
+from_aligned! { unsafe u64x8 |bidirectional| core::arch::x86_64::__m512i }
+*/
diff --git a/crates/core_simd/src/vectors_u8.rs b/crates/core_simd/src/vectors_u8.rs
new file mode 100644 (file)
index 0000000..d3f0893
--- /dev/null
@@ -0,0 +1,49 @@
+define_type! {
+    #[doc = "Vector of two `u8` values"]
+    struct u8x2([u8; 2]);
+}
+
+define_type! {
+    #[doc = "Vector of four `u8` values"]
+    struct u8x4([u8; 4]);
+}
+
+define_type! {
+    #[doc = "Vector of eight `u8` values"]
+    struct u8x8([u8; 8]);
+}
+
+define_type! {
+    #[doc = "Vector of 16 `u8` values"]
+    struct u8x16([u8; 16]);
+}
+
+define_type! {
+    #[doc = "Vector of 32 `u8` values"]
+    struct u8x32([u8; 32]);
+}
+
+define_type! {
+    #[doc = "Vector of 64 `u8` values"]
+    struct u8x64([u8; 64]);
+}
+
+#[cfg(target_arch = "x86")]
+from_aligned! { unsafe u8x16 |bidirectional| core::arch::x86::__m128i }
+
+#[cfg(target_arch = "x86_64")]
+from_aligned! { unsafe u8x16 |bidirectional| core::arch::x86_64::__m128i }
+
+#[cfg(target_arch = "x86")]
+from_aligned! { unsafe u8x32 |bidirectional| core::arch::x86::__m256i }
+
+#[cfg(target_arch = "x86_64")]
+from_aligned! { unsafe u8x32 |bidirectional| core::arch::x86_64::__m256i }
+
+/*
+#[cfg(target_arch = "x86")]
+from_aligned! { unsafe u8x64 |bidirectional| core::arch::x86::__m512i }
+
+#[cfg(target_arch = "x86_64")]
+from_aligned! { unsafe u8x64 |bidirectional| core::arch::x86_64::__m512i }
+*/
diff --git a/crates/core_simd/src/vectors_usize.rs b/crates/core_simd/src/vectors_usize.rs
new file mode 100644 (file)
index 0000000..c997e7c
--- /dev/null
@@ -0,0 +1,46 @@
+define_type! {
+    #[doc = "Vector of two `usize` values"]
+    struct usizex2([usize; 2]);
+}
+
+define_type! {
+    #[doc = "Vector of four `usize` values"]
+    struct usizex4([usize; 4]);
+}
+
+define_type! {
+    #[doc = "Vector of eight `usize` values"]
+    struct usizex8([usize; 8]);
+}
+
+#[cfg(all(target_arch = "x86", target_pointer_width = "32"))]
+from_aligned! { unsafe usizex4 |bidirectional| core::arch::x86::__m128i }
+
+#[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))]
+from_aligned! { unsafe usizex4 |bidirectional| core::arch::x86_64::__m128i }
+
+#[cfg(all(target_arch = "x86", target_pointer_width = "32"))]
+from_aligned! { unsafe usizex8 |bidirectional| core::arch::x86::__m256i }
+
+#[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))]
+from_aligned! { unsafe usizex8 |bidirectional| core::arch::x86_64::__m256i }
+
+#[cfg(all(target_arch = "x86", target_pointer_width = "64"))]
+from_aligned! { unsafe usizex2 |bidirectional| core::arch::x86::__m128i }
+
+#[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))]
+from_aligned! { unsafe usizex2 |bidirectional| core::arch::x86_64::__m128i }
+
+#[cfg(all(target_arch = "x86", target_pointer_width = "64"))]
+from_aligned! { unsafe usizex4 |bidirectional| core::arch::x86::__m256i }
+
+#[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))]
+from_aligned! { unsafe usizex4 |bidirectional| core::arch::x86_64::__m256i }
+
+/*
+#[cfg(all(target_arch = "x86", target_pointer_width = "64"))]
+from_aligned! { unsafe usizex8 |bidirectional| core::arch::x86::__m512i }
+
+#[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))]
+from_aligned! { unsafe usizex8 |bidirectional| core::arch::x86_64::__m512i }
+*/