authorgravatar for jacobly@ziglang.orgJacob Young <jacobly@ziglang.org> 2023-05-02 21:01:59-04:00
committergravatar for jacobly@ziglang.orgJacob Young <jacobly@ziglang.org> 2023-05-03 04:25:14-04:00
log36a39267b89583ad1dded42a54de90a7f9b5eacf
treec0da0297c06330dc489a923f5d5fe3c870360eb5
parent9ccdbca635a3b5a26b65ab8e52533d3acc8f2f5e

x86_64: fix feature confusion


15 files changed, 6 insertions(+), 66 deletions(-)

src/arch/x86_64/CodeGen.zig+6-1
...@@ -5879,7 +5879,12 @@ fn genBinOpMir(self: *Self, mir_tag: Mir.Inst.Tag, ty: Type, dst_mcv: MCValue, s...@@ -5879,7 +5879,12 @@ fn genBinOpMir(self: *Self, mir_tag: Mir.Inst.Tag, ty: Type, dst_mcv: MCValue, s
5879 .load_got,5879 .load_got,
5880 .load_tlv,5880 .load_tlv,
5881 => {5881 => {
5882 const addr_reg = try self.copyToTmpRegister(ty, src_mcv.address());5882 var ptr_pl = Type.Payload.ElemType{
5883 .base = .{ .tag = .single_const_pointer },
5884 .data = ty,
5885 };
5886 const ptr_ty = Type.initPayload(&ptr_pl.base);
5887 const addr_reg = try self.copyToTmpRegister(ptr_ty, src_mcv.address());
5883 return self.genBinOpMir(mir_tag, ty, dst_mcv, .{5888 return self.genBinOpMir(mir_tag, ty, dst_mcv, .{
5884 .indirect = .{ .reg = addr_reg },5889 .indirect = .{ .reg = addr_reg },
5885 });5890 });
test/behavior/basic.zig-8
...@@ -363,8 +363,6 @@ fn hereIsAnOpaqueType(ptr: *OpaqueA) *OpaqueA {...@@ -363,8 +363,6 @@ fn hereIsAnOpaqueType(ptr: *OpaqueA) *OpaqueA {
363}363}
364364
365test "take address of parameter" {365test "take address of parameter" {
366 if (builtin.zig_backend == .stage2_x86_64 and
367 comptime !std.Target.x86.featureSetHasAll(builtin.cpu.features, .{ .sse, .sse2, .sse4_1 })) return error.SkipZigTest; // TODO
368 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;366 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
369 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;367 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
370 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO368 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
...@@ -392,8 +390,6 @@ test "array 2D const double ptr" {...@@ -392,8 +390,6 @@ test "array 2D const double ptr" {
392 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;390 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
393 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO391 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
394 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;392 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
395 if (builtin.zig_backend == .stage2_x86_64 and
396 comptime !std.Target.x86.featureSetHasAll(builtin.cpu.features, .{ .sse, .sse2, .sse4_1 })) return error.SkipZigTest; // TODO
397 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO393 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
398394
399 const rect_2d_vertexes = [_][1]f32{395 const rect_2d_vertexes = [_][1]f32{
...@@ -407,8 +403,6 @@ test "array 2D const double ptr with offset" {...@@ -407,8 +403,6 @@ test "array 2D const double ptr with offset" {
407 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;403 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
408 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO404 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
409 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;405 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
410 if (builtin.zig_backend == .stage2_x86_64 and
411 comptime !std.Target.x86.featureSetHasAll(builtin.cpu.features, .{ .sse, .sse2, .sse4_1 })) return error.SkipZigTest; // TODO
412 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest;406 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest;
413407
414 const rect_2d_vertexes = [_][2]f32{408 const rect_2d_vertexes = [_][2]f32{
...@@ -422,8 +416,6 @@ test "array 3D const double ptr with offset" {...@@ -422,8 +416,6 @@ test "array 3D const double ptr with offset" {
422 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;416 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
423 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO417 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
424 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;418 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
425 if (builtin.zig_backend == .stage2_x86_64 and
426 comptime !std.Target.x86.featureSetHasAll(builtin.cpu.features, .{ .sse, .sse2, .sse4_1 })) return error.SkipZigTest; // TODO
427 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO419 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
428420
429 const rect_3d_vertexes = [_][2][2]f32{421 const rect_3d_vertexes = [_][2][2]f32{
test/behavior/bugs/13069.zig-2
...@@ -6,8 +6,6 @@ test {...@@ -6,8 +6,6 @@ test {
6 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO6 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
7 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO7 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
8 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO8 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
9 if (builtin.zig_backend == .stage2_x86_64 and
10 comptime !std.Target.x86.featureSetHasAll(builtin.cpu.features, .{ .sse, .sse2, .sse4_1 })) return error.SkipZigTest; // TODO
119
12 var opt_x: ?[3]f32 = [_]f32{0.0} ** 3;10 var opt_x: ?[3]f32 = [_]f32{0.0} ** 3;
1311
test/behavior/cast.zig-5
...@@ -95,9 +95,6 @@ test "comptime_int @intToFloat" {...@@ -95,9 +95,6 @@ test "comptime_int @intToFloat" {
9595
96test "@intToFloat" {96test "@intToFloat" {
97 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO97 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
98 if (builtin.zig_backend == .stage2_x86_64 and
99 comptime !std.Target.x86.featureSetHasAll(builtin.cpu.features, .{ .sse, .sse2, .sse4_1 })) return error.SkipZigTest; // TODO
100
101 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO98 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
102 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO99 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
103100
...@@ -636,8 +633,6 @@ test "vector casts" {...@@ -636,8 +633,6 @@ test "vector casts" {
636}633}
637634
638test "@floatCast cast down" {635test "@floatCast cast down" {
639 if (builtin.zig_backend == .stage2_x86_64 and
640 comptime !std.Target.x86.featureSetHasAll(builtin.cpu.features, .{ .sse, .sse2, .sse4_1 })) return error.SkipZigTest; // TODO
641 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO636 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
642 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO637 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
643 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO638 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
test/behavior/enum.zig-2
...@@ -940,8 +940,6 @@ test "constant enum initialization with differing sizes" {...@@ -940,8 +940,6 @@ test "constant enum initialization with differing sizes" {
940 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;940 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
941 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;941 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
942 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO942 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
943 if (builtin.zig_backend == .stage2_x86_64 and
944 comptime !std.Target.x86.featureSetHasAll(builtin.cpu.features, .{ .sse, .sse2, .sse4_1 })) return error.SkipZigTest; // TODO
945943
946 try test3_1(test3_foo);944 try test3_1(test3_foo);
947 try test3_2(test3_bar);945 try test3_2(test3_bar);
test/behavior/eval.zig-2
...@@ -535,8 +535,6 @@ test "static eval list init" {...@@ -535,8 +535,6 @@ test "static eval list init" {
535 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO535 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
536 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO536 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
537 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO537 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
538 if (builtin.zig_backend == .stage2_x86_64 and
539 comptime !std.Target.x86.featureSetHasAll(builtin.cpu.features, .{ .sse, .sse2, .sse4_1 })) return error.SkipZigTest; // TODO
540538
541 try expect(static_vec3.data[2] == 1.0);539 try expect(static_vec3.data[2] == 1.0);
542 try expect(vec3(0.0, 0.0, 3.0).data[2] == 3.0);540 try expect(vec3(0.0, 0.0, 3.0).data[2] == 3.0);
test/behavior/floatop.zig-10
...@@ -96,8 +96,6 @@ test "negative f128 floatToInt at compile-time" {...@@ -96,8 +96,6 @@ test "negative f128 floatToInt at compile-time" {
96}96}
9797
98test "@sqrt" {98test "@sqrt" {
99 if (builtin.zig_backend == .stage2_x86_64 and
100 comptime !std.Target.x86.featureSetHasAll(builtin.cpu.features, .{ .sse, .sse2, .sse4_1 })) return error.SkipZigTest; // TODO
101 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO99 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
102 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO100 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
103 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO101 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
...@@ -905,8 +903,6 @@ test "negation f16" {...@@ -905,8 +903,6 @@ test "negation f16" {
905}903}
906904
907test "negation f32" {905test "negation f32" {
908 if (builtin.zig_backend == .stage2_x86_64 and
909 comptime !std.Target.x86.featureSetHasAll(builtin.cpu.features, .{ .sse, .sse2, .sse4_1 })) return error.SkipZigTest; // TODO
910 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO906 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
911 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO907 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
912 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO908 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
...@@ -926,8 +922,6 @@ test "negation f32" {...@@ -926,8 +922,6 @@ test "negation f32" {
926}922}
927923
928test "negation f64" {924test "negation f64" {
929 if (builtin.zig_backend == .stage2_x86_64 and
930 comptime !std.Target.x86.featureSetHasAll(builtin.cpu.features, .{ .sse, .sse2, .sse4_1 })) return error.SkipZigTest; // TODO
931 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO925 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
932 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO926 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
933 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO927 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
...@@ -1062,8 +1056,6 @@ test "nan negation f16" {...@@ -1062,8 +1056,6 @@ test "nan negation f16" {
1062}1056}
10631057
1064test "nan negation f32" {1058test "nan negation f32" {
1065 if (builtin.zig_backend == .stage2_x86_64 and
1066 comptime !std.Target.x86.featureSetHasAll(builtin.cpu.features, .{ .sse, .sse2, .sse4_1 })) return error.SkipZigTest; // TODO
1067 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1059 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1068 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1060 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1069 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1061 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
...@@ -1083,8 +1075,6 @@ test "nan negation f32" {...@@ -1083,8 +1075,6 @@ test "nan negation f32" {
10831075
1084test "nan negation f64" {1076test "nan negation f64" {
1085 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO1077 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
1086 if (builtin.zig_backend == .stage2_x86_64 and
1087 comptime !std.Target.x86.featureSetHasAll(builtin.cpu.features, .{ .sse, .sse2, .sse4_1 })) return error.SkipZigTest; // TODO
1088 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1078 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1089 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1079 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1090 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1080 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
test/behavior/fn.zig-4
...@@ -338,8 +338,6 @@ test "function call with anon list literal" {...@@ -338,8 +338,6 @@ test "function call with anon list literal" {
338 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO338 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
339 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO339 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
340 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO340 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
341 if (builtin.zig_backend == .stage2_x86_64 and
342 comptime !std.Target.x86.featureSetHasAll(builtin.cpu.features, .{ .sse, .sse2, .sse4_1 })) return error.SkipZigTest; // TODO
343341
344 const S = struct {342 const S = struct {
345 fn doTheTest() !void {343 fn doTheTest() !void {
...@@ -360,8 +358,6 @@ test "function call with anon list literal - 2D" {...@@ -360,8 +358,6 @@ test "function call with anon list literal - 2D" {
360 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO358 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
361 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO359 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
362 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO360 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
363 if (builtin.zig_backend == .stage2_x86_64 and
364 comptime !std.Target.x86.featureSetHasAll(builtin.cpu.features, .{ .sse, .sse2, .sse4_1 })) return error.SkipZigTest; // TODO
365361
366 const S = struct {362 const S = struct {
367 fn doTheTest() !void {363 fn doTheTest() !void {
test/behavior/generics.zig-4
...@@ -59,8 +59,6 @@ test "fn with comptime args" {...@@ -59,8 +59,6 @@ test "fn with comptime args" {
59 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;59 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
60 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;60 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
61 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO61 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
62 if (builtin.zig_backend == .stage2_x86_64 and
63 comptime !std.Target.x86.featureSetHasAll(builtin.cpu.features, .{ .sse, .sse2, .sse4_1 })) return error.SkipZigTest; // TODO
6462
65 try expect(gimmeTheBigOne(1234, 5678) == 5678);63 try expect(gimmeTheBigOne(1234, 5678) == 5678);
66 try expect(shouldCallSameInstance(34, 12) == 34);64 try expect(shouldCallSameInstance(34, 12) == 34);
...@@ -71,8 +69,6 @@ test "anytype params" {...@@ -71,8 +69,6 @@ test "anytype params" {
71 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;69 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
72 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;70 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
73 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO71 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
74 if (builtin.zig_backend == .stage2_x86_64 and
75 comptime !std.Target.x86.featureSetHasAll(builtin.cpu.features, .{ .sse, .sse2, .sse4_1 })) return error.SkipZigTest; // TODO
7672
77 try expect(max_i32(12, 34) == 34);73 try expect(max_i32(12, 34) == 34);
78 try expect(max_f64(1.2, 3.4) == 3.4);74 try expect(max_f64(1.2, 3.4) == 3.4);
test/behavior/math.zig-2
...@@ -203,8 +203,6 @@ test "float equality" {...@@ -203,8 +203,6 @@ test "float equality" {
203 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO203 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
204 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO204 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
205 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO205 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
206 if (builtin.zig_backend == .stage2_x86_64 and
207 comptime !std.Target.x86.featureSetHasAll(builtin.cpu.features, .{ .sse, .sse2, .sse4_1 })) return error.SkipZigTest; // TODO
208206
209 const x: f64 = 0.012;207 const x: f64 = 0.012;
210 const y: f64 = x + 1.0;208 const y: f64 = x + 1.0;
test/behavior/maximum_minimum.zig-4
...@@ -8,8 +8,6 @@ test "@max" {...@@ -8,8 +8,6 @@ test "@max" {
8 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO8 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
9 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO9 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
10 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO10 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
11 if (builtin.zig_backend == .stage2_x86_64 and
12 comptime !std.Target.x86.featureSetHasAll(builtin.cpu.features, .{ .sse, .sse2, .sse4_1 })) return error.SkipZigTest; // TODO
1311
14 const S = struct {12 const S = struct {
15 fn doTheTest() !void {13 fn doTheTest() !void {
...@@ -56,8 +54,6 @@ test "@min" {...@@ -56,8 +54,6 @@ test "@min" {
56 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO54 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
57 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO55 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
58 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO56 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
59 if (builtin.zig_backend == .stage2_x86_64 and
60 comptime !std.Target.x86.featureSetHasAll(builtin.cpu.features, .{ .sse, .sse2, .sse4_1 })) return error.SkipZigTest; // TODO
6157
62 const S = struct {58 const S = struct {
63 fn doTheTest() !void {59 fn doTheTest() !void {
test/behavior/pointers.zig-4
...@@ -206,8 +206,6 @@ test "allowzero pointer and slice" {...@@ -206,8 +206,6 @@ test "allowzero pointer and slice" {
206}206}
207207
208test "assign null directly to C pointer and test null equality" {208test "assign null directly to C pointer and test null equality" {
209 if (builtin.zig_backend == .stage2_x86_64 and
210 comptime !std.Target.x86.featureSetHasAll(builtin.cpu.features, .{ .sse, .sse2, .sse4_1 })) return error.SkipZigTest; // TODO
211 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO209 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
212 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO210 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
213 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO211 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
...@@ -346,8 +344,6 @@ test "pointer sentinel with +inf" {...@@ -346,8 +344,6 @@ test "pointer sentinel with +inf" {
346 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO344 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
347 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO345 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
348 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO346 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
349 if (builtin.zig_backend == .stage2_x86_64 and
350 comptime !std.Target.x86.featureSetHasAll(builtin.cpu.features, .{ .sse, .sse2, .sse4_1 })) return error.SkipZigTest; // TODO
351347
352 const S = struct {348 const S = struct {
353 fn doTheTest() !void {349 fn doTheTest() !void {
test/behavior/struct.zig-2
...@@ -744,8 +744,6 @@ var g_foo: S0 = S0.init();...@@ -744,8 +744,6 @@ var g_foo: S0 = S0.init();
744744
745test "packed struct with fp fields" {745test "packed struct with fp fields" {
746 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO746 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
747 if (builtin.zig_backend == .stage2_x86_64 and
748 comptime !std.Target.x86.featureSetHasAll(builtin.cpu.features, .{ .sse, .sse2, .sse4_1 })) return error.SkipZigTest; // TODO
749 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO747 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
750 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO748 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
751 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO749 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
test/behavior/switch.zig-2
...@@ -230,8 +230,6 @@ test "switch prong with variable" {...@@ -230,8 +230,6 @@ test "switch prong with variable" {
230 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO230 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
231 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO231 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
232 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO232 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
233 if (builtin.zig_backend == .stage2_x86_64 and
234 comptime !std.Target.x86.featureSetHasAll(builtin.cpu.features, .{ .sse, .sse2, .sse4_1 })) return error.SkipZigTest; // TODO
235233
236 try switchProngWithVarFn(SwitchProngWithVarEnum{ .One = 13 });234 try switchProngWithVarFn(SwitchProngWithVarEnum{ .One = 13 });
237 try switchProngWithVarFn(SwitchProngWithVarEnum{ .Two = 13.0 });235 try switchProngWithVarFn(SwitchProngWithVarEnum{ .Two = 13.0 });
test/behavior/union.zig-14
...@@ -14,8 +14,6 @@ test "basic unions with floats" {...@@ -14,8 +14,6 @@ test "basic unions with floats" {
14 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;14 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
15 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;15 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
16 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO16 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
17 if (builtin.zig_backend == .stage2_x86_64 and
18 comptime !std.Target.x86.featureSetHasAll(builtin.cpu.features, .{ .sse, .sse2, .sse4_1 })) return error.SkipZigTest; // TODO
1917
20 var foo = FooWithFloats{ .int = 1 };18 var foo = FooWithFloats{ .int = 1 };
21 try expect(foo.int == 1);19 try expect(foo.int == 1);
...@@ -31,8 +29,6 @@ test "init union with runtime value - floats" {...@@ -31,8 +29,6 @@ test "init union with runtime value - floats" {
31 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;29 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
32 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;30 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
33 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO31 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
34 if (builtin.zig_backend == .stage2_x86_64 and
35 comptime !std.Target.x86.featureSetHasAll(builtin.cpu.features, .{ .sse, .sse2, .sse4_1 })) return error.SkipZigTest; // TODO
3632
37 var foo: FooWithFloats = undefined;33 var foo: FooWithFloats = undefined;
3834
...@@ -220,8 +216,6 @@ test "union with specified enum tag" {...@@ -220,8 +216,6 @@ test "union with specified enum tag" {
220 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;216 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
221 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;217 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
222 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO218 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
223 if (builtin.zig_backend == .stage2_x86_64 and
224 comptime !std.Target.x86.featureSetHasAll(builtin.cpu.features, .{ .sse, .sse2, .sse4_1 })) return error.SkipZigTest; // TODO
225219
226 try doTest();220 try doTest();
227 comptime try doTest();221 comptime try doTest();
...@@ -231,8 +225,6 @@ test "packed union generates correctly aligned type" {...@@ -231,8 +225,6 @@ test "packed union generates correctly aligned type" {
231 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;225 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
232 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;226 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
233 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO227 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
234 if (builtin.zig_backend == .stage2_x86_64 and
235 comptime !std.Target.x86.featureSetHasAll(builtin.cpu.features, .{ .sse, .sse2, .sse4_1 })) return error.SkipZigTest; // TODO
236228
237 const U = packed union {229 const U = packed union {
238 f1: *const fn () error{TestUnexpectedResult}!void,230 f1: *const fn () error{TestUnexpectedResult}!void,
...@@ -910,8 +902,6 @@ test "anonymous union literal syntax" {...@@ -910,8 +902,6 @@ test "anonymous union literal syntax" {
910 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO902 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
911 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO903 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
912 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO904 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
913 if (builtin.zig_backend == .stage2_x86_64 and
914 comptime !std.Target.x86.featureSetHasAll(builtin.cpu.features, .{ .sse, .sse2, .sse4_1 })) return error.SkipZigTest; // TODO
915905
916 const S = struct {906 const S = struct {
917 const Number = union {907 const Number = union {
...@@ -1064,8 +1054,6 @@ test "containers with single-field enums" {...@@ -1064,8 +1054,6 @@ test "containers with single-field enums" {
1064 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1054 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1065 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1055 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1066 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1056 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1067 if (builtin.zig_backend == .stage2_x86_64 and
1068 comptime !std.Target.x86.featureSetHasAll(builtin.cpu.features, .{ .sse, .sse2, .sse4_1 })) return error.SkipZigTest; // TODO
10691057
1070 const S = struct {1058 const S = struct {
1071 const A = union(enum) { f1 };1059 const A = union(enum) { f1 };
...@@ -1524,8 +1512,6 @@ test "reinterpreting enum value inside packed union" {...@@ -1524,8 +1512,6 @@ test "reinterpreting enum value inside packed union" {
1524 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1512 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1525 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1513 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1526 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO1514 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
1527 if (builtin.zig_backend == .stage2_x86_64 and
1528 comptime !std.Target.x86.featureSetHasAll(builtin.cpu.features, .{ .sse, .sse2, .sse4_1 })) return error.SkipZigTest; // TODO
15291515
1530 const U = packed union {1516 const U = packed union {
1531 tag: enum { a, b },1517 tag: enum { a, b },