aboutsummaryrefslogtreecommitdiff
path: root/src/InternPool.zig
diff options
context:
space:
mode:
authorJacob Young <jacobly0@users.noreply.github.com>2025-05-24 11:37:13 -0400
committerJacob Young <jacobly0@users.noreply.github.com>2025-05-28 15:10:22 -0400
commita4a1ebdeed16494270a0111aeee6fec8e04ef7ee (patch)
tree6a3cac6bbd6efde299d15991fa04b261e4459890 /src/InternPool.zig
parent612f5784cf0a02b4d3be5aaf9e3822d72e220c96 (diff)
downloadzig-a4a1ebdeed16494270a0111aeee6fec8e04ef7ee.tar.gz
zig-a4a1ebdeed16494270a0111aeee6fec8e04ef7ee.zip
x86_64: implement optimized float `@reduce(.Mul)`
Diffstat (limited to 'src/InternPool.zig')
-rw-r--r--src/InternPool.zig20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/InternPool.zig b/src/InternPool.zig
index adcf2fb797..8967d23aaa 100644
--- a/src/InternPool.zig
+++ b/src/InternPool.zig
@@ -4615,11 +4615,15 @@ pub const Index = enum(u32) {
vector_1_u256_type,
vector_4_f16_type,
vector_8_f16_type,
+ vector_16_f16_type,
+ vector_32_f16_type,
vector_2_f32_type,
vector_4_f32_type,
vector_8_f32_type,
+ vector_16_f32_type,
vector_2_f64_type,
vector_4_f64_type,
+ vector_8_f64_type,
optional_noreturn_type,
anyerror_void_error_union_type,
@@ -5174,16 +5178,24 @@ pub const static_keys = [_]Key{
.{ .vector_type = .{ .len = 4, .child = .f16_type } },
// @Vector(8, f16)
.{ .vector_type = .{ .len = 8, .child = .f16_type } },
+ // @Vector(16, f16)
+ .{ .vector_type = .{ .len = 16, .child = .f16_type } },
+ // @Vector(32, f16)
+ .{ .vector_type = .{ .len = 32, .child = .f16_type } },
// @Vector(2, f32)
.{ .vector_type = .{ .len = 2, .child = .f32_type } },
// @Vector(4, f32)
.{ .vector_type = .{ .len = 4, .child = .f32_type } },
// @Vector(8, f32)
.{ .vector_type = .{ .len = 8, .child = .f32_type } },
+ // @Vector(16, f32)
+ .{ .vector_type = .{ .len = 16, .child = .f32_type } },
// @Vector(2, f64)
.{ .vector_type = .{ .len = 2, .child = .f64_type } },
// @Vector(4, f64)
.{ .vector_type = .{ .len = 4, .child = .f64_type } },
+ // @Vector(8, f64)
+ .{ .vector_type = .{ .len = 8, .child = .f64_type } },
// ?noreturn
.{ .opt_type = .noreturn_type },
@@ -11847,11 +11859,15 @@ pub fn typeOf(ip: *const InternPool, index: Index) Index {
.vector_1_u256_type,
.vector_4_f16_type,
.vector_8_f16_type,
+ .vector_16_f16_type,
+ .vector_32_f16_type,
.vector_2_f32_type,
.vector_4_f32_type,
.vector_8_f32_type,
+ .vector_16_f32_type,
.vector_2_f64_type,
.vector_4_f64_type,
+ .vector_8_f64_type,
.optional_noreturn_type,
.anyerror_void_error_union_type,
.adhoc_inferred_error_set_type,
@@ -12175,11 +12191,15 @@ pub fn zigTypeTag(ip: *const InternPool, index: Index) std.builtin.TypeId {
.vector_1_u256_type,
.vector_4_f16_type,
.vector_8_f16_type,
+ .vector_16_f16_type,
+ .vector_32_f16_type,
.vector_2_f32_type,
.vector_4_f32_type,
.vector_8_f32_type,
+ .vector_16_f32_type,
.vector_2_f64_type,
.vector_4_f64_type,
+ .vector_8_f64_type,
=> .vector,
.optional_noreturn_type => .optional,