aboutsummaryrefslogtreecommitdiff
path: root/src/InternPool.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2025-01-25 07:30:45 -0800
committerGitHub <noreply@github.com>2025-01-25 07:30:45 -0800
commitd0d5ca2b6c8253c27e945ed8d973a90c28a3cbf5 (patch)
treed89ef781d3e729f684fa4baf20452f037f66b772 /src/InternPool.zig
parent8ba3812eeedec643dd045e0fecb8a6697f6253db (diff)
parentc7433212d1bf96adbfc6f3d706404436c0c98c20 (diff)
downloadzig-d0d5ca2b6c8253c27e945ed8d973a90c28a3cbf5.tar.gz
zig-d0d5ca2b6c8253c27e945ed8d973a90c28a3cbf5.zip
Merge pull request #22581 from jacobly0/x86_64-rewrite
x86_64: rewrite `@abs` on floats
Diffstat (limited to 'src/InternPool.zig')
-rw-r--r--src/InternPool.zig116
1 files changed, 116 insertions, 0 deletions
diff --git a/src/InternPool.zig b/src/InternPool.zig
index a92e93705c..6d0c0a0885 100644
--- a/src/InternPool.zig
+++ b/src/InternPool.zig
@@ -4559,12 +4559,37 @@ pub const Index = enum(u32) {
null_type,
undefined_type,
enum_literal_type,
+
manyptr_u8_type,
manyptr_const_u8_type,
manyptr_const_u8_sentinel_0_type,
single_const_pointer_to_comptime_int_type,
slice_const_u8_type,
slice_const_u8_sentinel_0_type,
+
+ vector_16_i8_type,
+ vector_32_i8_type,
+ vector_16_u8_type,
+ vector_32_u8_type,
+ vector_8_i16_type,
+ vector_16_i16_type,
+ vector_8_u16_type,
+ vector_16_u16_type,
+ vector_4_i32_type,
+ vector_8_i32_type,
+ vector_4_u32_type,
+ vector_8_u32_type,
+ vector_2_i64_type,
+ vector_4_i64_type,
+ vector_2_u64_type,
+ vector_4_u64_type,
+ vector_4_f16_type,
+ vector_8_f16_type,
+ vector_4_f32_type,
+ vector_8_f32_type,
+ vector_2_f64_type,
+ vector_4_f64_type,
+
optional_noreturn_type,
anyerror_void_error_union_type,
/// Used for the inferred error set of inline/comptime function calls.
@@ -5055,6 +5080,51 @@ pub const static_keys = [_]Key{
},
} },
+ // @Vector(16, i8)
+ .{ .vector_type = .{ .len = 16, .child = .i8_type } },
+ // @Vector(32, i8)
+ .{ .vector_type = .{ .len = 32, .child = .i8_type } },
+ // @Vector(16, u8)
+ .{ .vector_type = .{ .len = 16, .child = .u8_type } },
+ // @Vector(32, u8)
+ .{ .vector_type = .{ .len = 32, .child = .u8_type } },
+ // @Vector(8, i16)
+ .{ .vector_type = .{ .len = 8, .child = .i16_type } },
+ // @Vector(16, i16)
+ .{ .vector_type = .{ .len = 16, .child = .i16_type } },
+ // @Vector(8, u16)
+ .{ .vector_type = .{ .len = 8, .child = .u16_type } },
+ // @Vector(16, u16)
+ .{ .vector_type = .{ .len = 16, .child = .u16_type } },
+ // @Vector(4, i32)
+ .{ .vector_type = .{ .len = 4, .child = .i32_type } },
+ // @Vector(8, i32)
+ .{ .vector_type = .{ .len = 8, .child = .i32_type } },
+ // @Vector(4, u32)
+ .{ .vector_type = .{ .len = 4, .child = .u32_type } },
+ // @Vector(8, u32)
+ .{ .vector_type = .{ .len = 8, .child = .u32_type } },
+ // @Vector(2, i64)
+ .{ .vector_type = .{ .len = 2, .child = .i64_type } },
+ // @Vector(4, i64)
+ .{ .vector_type = .{ .len = 4, .child = .i64_type } },
+ // @Vector(2, u64)
+ .{ .vector_type = .{ .len = 2, .child = .u64_type } },
+ // @Vector(8, u64)
+ .{ .vector_type = .{ .len = 4, .child = .u64_type } },
+ // @Vector(4, f16)
+ .{ .vector_type = .{ .len = 4, .child = .f16_type } },
+ // @Vector(8, f16)
+ .{ .vector_type = .{ .len = 8, .child = .f16_type } },
+ // @Vector(4, f32)
+ .{ .vector_type = .{ .len = 4, .child = .f32_type } },
+ // @Vector(8, f32)
+ .{ .vector_type = .{ .len = 8, .child = .f32_type } },
+ // @Vector(2, f64)
+ .{ .vector_type = .{ .len = 2, .child = .f64_type } },
+ // @Vector(4, f64)
+ .{ .vector_type = .{ .len = 4, .child = .f64_type } },
+
// ?noreturn
.{ .opt_type = .noreturn_type },
@@ -11681,6 +11751,28 @@ pub fn typeOf(ip: *const InternPool, index: Index) Index {
.single_const_pointer_to_comptime_int_type,
.slice_const_u8_type,
.slice_const_u8_sentinel_0_type,
+ .vector_16_i8_type,
+ .vector_32_i8_type,
+ .vector_16_u8_type,
+ .vector_32_u8_type,
+ .vector_8_i16_type,
+ .vector_16_i16_type,
+ .vector_8_u16_type,
+ .vector_16_u16_type,
+ .vector_4_i32_type,
+ .vector_8_i32_type,
+ .vector_4_u32_type,
+ .vector_8_u32_type,
+ .vector_2_i64_type,
+ .vector_4_i64_type,
+ .vector_2_u64_type,
+ .vector_4_u64_type,
+ .vector_4_f16_type,
+ .vector_8_f16_type,
+ .vector_4_f32_type,
+ .vector_8_f32_type,
+ .vector_2_f64_type,
+ .vector_4_f64_type,
.optional_noreturn_type,
.anyerror_void_error_union_type,
.adhoc_inferred_error_set_type,
@@ -11998,6 +12090,30 @@ pub fn zigTypeTag(ip: *const InternPool, index: Index) std.builtin.TypeId {
.slice_const_u8_sentinel_0_type,
=> .pointer,
+ .vector_16_i8_type,
+ .vector_32_i8_type,
+ .vector_16_u8_type,
+ .vector_32_u8_type,
+ .vector_8_i16_type,
+ .vector_16_i16_type,
+ .vector_8_u16_type,
+ .vector_16_u16_type,
+ .vector_4_i32_type,
+ .vector_8_i32_type,
+ .vector_4_u32_type,
+ .vector_8_u32_type,
+ .vector_2_i64_type,
+ .vector_4_i64_type,
+ .vector_2_u64_type,
+ .vector_4_u64_type,
+ .vector_4_f16_type,
+ .vector_8_f16_type,
+ .vector_4_f32_type,
+ .vector_8_f32_type,
+ .vector_2_f64_type,
+ .vector_4_f64_type,
+ => .vector,
+
.optional_noreturn_type => .optional,
.anyerror_void_error_union_type => .error_union,
.empty_tuple_type => .@"struct",