From b1fa89439ae56001779061c42a08cf9db7906432 Mon Sep 17 00:00:00 2001 From: Jacob Young Date: Thu, 23 Jan 2025 05:31:46 -0500 Subject: x86_64: rewrite float vector `@abs` and equality comparisons --- src/InternPool.zig | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'src/InternPool.zig') diff --git a/src/InternPool.zig b/src/InternPool.zig index a92e93705c..04783e2a9c 100644 --- a/src/InternPool.zig +++ b/src/InternPool.zig @@ -4559,12 +4559,21 @@ 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_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 +5064,19 @@ pub const static_keys = [_]Key{ }, } }, + // @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 +11703,12 @@ 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_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 +12026,14 @@ pub fn zigTypeTag(ip: *const InternPool, index: Index) std.builtin.TypeId { .slice_const_u8_sentinel_0_type, => .pointer, + .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", -- cgit v1.2.3