]> git.proxmox.com Git - rustc.git/blame - vendor/packed_simd_2/src/v512.rs
New upstream version 1.74.1+dfsg1
[rustc.git] / vendor / packed_simd_2 / src / v512.rs
CommitLineData
f20569fa 1//! 512-bit wide vector types
cdc7bbd5 2#[rustfmt::skip]
f20569fa
XL
3
4use crate::*;
5
6impl_i!([i8; 64]: i8x64, m8x64 | i8, u64 | test_v512 |
7 x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15,
8 x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31,
9 x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47,
10 x48, x49, x50, x51, x52, x53, x54, x55, x56, x57, x58, x59, x60, x61, x62, x63 |
11 From: |
12 /// A 512-bit vector with 64 `i8` lanes.
13);
14impl_u!([u8; 64]: u8x64, m8x64 | u8, u64 | test_v512 |
15 x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15,
16 x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31,
17 x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47,
18 x48, x49, x50, x51, x52, x53, x54, x55, x56, x57, x58, x59, x60, x61, x62, x63 |
19 From: |
20 /// A 512-bit vector with 64 `u8` lanes.
21);
22impl_m!([m8; 64]: m8x64 | i8, u64 | test_v512 |
23 x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15,
24 x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31,
25 x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47,
26 x48, x49, x50, x51, x52, x53, x54, x55, x56, x57, x58, x59, x60, x61, x62, x63 |
27 From: |
28 /// A 512-bit vector mask with 64 `m8` lanes.
29);
30
31impl_i!([i16; 32]: i16x32, m16x32 | i16, u32 | test_v512 |
32 x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15,
33 x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31 |
34 From: i8x32, u8x32 |
35 /// A 512-bit vector with 32 `i16` lanes.
36);
37impl_u!([u16; 32]: u16x32, m16x32 | u16, u32 | test_v512 |
38 x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15,
39 x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31 |
40 From: u8x32 |
41 /// A 512-bit vector with 32 `u16` lanes.
42);
43impl_m!([m16; 32]: m16x32 | i16, u32 | test_v512 |
44 x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15,
45 x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31 |
46 From: m8x32 |
47 /// A 512-bit vector mask with 32 `m16` lanes.
48);
49
50impl_i!([i32; 16]: i32x16, m32x16 | i32, u16 | test_v512 |
51 x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15 |
52 From: i8x16, u8x16, i16x16, u16x16 |
53 /// A 512-bit vector with 16 `i32` lanes.
54);
55impl_u!([u32; 16]: u32x16, m32x16 | u32, u16 | test_v512 |
56 x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15 |
57 From: u8x16, u16x16 |
58 /// A 512-bit vector with 16 `u32` lanes.
59);
60impl_f!([f32; 16]: f32x16, m32x16 | f32 | test_v512 |
61 x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15 |
62 From: i8x16, u8x16, i16x16, u16x16 |
63 /// A 512-bit vector with 16 `f32` lanes.
64);
65impl_m!([m32; 16]: m32x16 | i32, u16 | test_v512 |
66 x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15 |
67 From: m8x16, m16x16 |
68 /// A 512-bit vector mask with 16 `m32` lanes.
69);
70
71impl_i!([i64; 8]: i64x8, m64x8 | i64, u8 | test_v512 | x0, x1, x2, x3, x4, x5, x6, x7 |
72 From: i8x8, u8x8, i16x8, u16x8, i32x8, u32x8 |
73 /// A 512-bit vector with 8 `i64` lanes.
74);
75impl_u!([u64; 8]: u64x8, m64x8 | u64, u8 | test_v512 | x0, x1, x2, x3, x4, x5, x6, x7 |
76 From: u8x8, u16x8, u32x8 |
77 /// A 512-bit vector with 8 `u64` lanes.
78);
79impl_f!([f64; 8]: f64x8, m64x8 | f64 | test_v512 | x0, x1, x2, x3, x4, x5, x6, x7 |
80 From: i8x8, u8x8, i16x8, u16x8, i32x8, u32x8, f32x8 |
81 /// A 512-bit vector with 8 `f64` lanes.
82);
83impl_m!([m64; 8]: m64x8 | i64, u8 | test_v512 | x0, x1, x2, x3, x4, x5, x6, x7 |
84 From: m8x8, m16x8, m32x8 |
85 /// A 512-bit vector mask with 8 `m64` lanes.
86);
87
88impl_i!([i128; 4]: i128x4, m128x4 | i128, u8 | test_v512 | x0, x1, x2, x3 |
89 From: i8x4, u8x4, i16x4, u16x4, i32x4, u32x4, i64x4, u64x4 |
90 /// A 512-bit vector with 4 `i128` lanes.
91);
92impl_u!([u128; 4]: u128x4, m128x4 | u128, u8 | test_v512 | x0, x1, x2, x3 |
93 From: u8x4, u16x4, u32x4, u64x4 |
94 /// A 512-bit vector with 4 `u128` lanes.
95);
96impl_m!([m128; 4]: m128x4 | i128, u8 | test_v512 | x0, x1, x2, x3 |
97 From: m8x4, m16x4, m32x4, m64x4 |
98 /// A 512-bit vector mask with 4 `m128` lanes.
99);