| ... | ... | @@ -18,16 +18,18 @@ comptime { |
| 18 | 18 | } |
| 19 | 19 | } |
| 20 | 20 | |
| 21 | | const Element = if (std.simd.suggestVectorLength(u8)) |vec_size| |
| 22 | | @Type(.{ .vector = .{ |
| 23 | | .child = u8, |
| 24 | | .len = vec_size, |
| 25 | | } }) |
| 26 | | else |
| 27 | | usize; |
| 21 | const Element = Element: { |
| 22 | if (std.simd.suggestVectorLength(u8)) |vec_size| { |
| 23 | const Vec = @Vector(vec_size, u8); |
| 24 | |
| 25 | if (@sizeOf(Vec) == vec_size and std.math.isPowerOfTwo(vec_size)) { |
| 26 | break :Element Vec; |
| 27 | } |
| 28 | } |
| 29 | break :Element usize; |
| 30 | }; |
| 28 | 31 | |
| 29 | 32 | comptime { |
| 30 | | assert(@sizeOf(Element) >= @alignOf(Element)); |
| 31 | 33 | assert(std.math.isPowerOfTwo(@sizeOf(Element))); |
| 32 | 34 | } |
| 33 | 35 | |