authorgravatar for jacobly@ziglang.orgJacob Young <jacobly@ziglang.org> 2023-05-08 16:43:57-04:00
committergravatar for jacobly@ziglang.orgJacob Young <jacobly@ziglang.org> 2023-05-15 03:07:51-04:00
log019c8844811ffb8b385ac8891cfd17cbf60d104a
treeb9e6b0d64430907d9b44bd61abb802722262cd7c
parent6f3dacc1073c30d10f640fe630580a4866cbd9db

x86_64: add missing multply of `f16`


2 files changed, 6 insertions(+), 1 deletions(-)

src/arch/x86_64/CodeGen.zig+5
......@@ -6345,6 +6345,7 @@ fn genBinOp(
63456345 switch (air_tag) {
63466346 .add => .{ .v_ss, .add },
63476347 .sub => .{ .v_ss, .sub },
6348 .mul => .{ .v_ss, .mul },
63486349 .div_float, .div_trunc, .div_floor, .div_exact => .{ .v_ss, .div },
63496350 .max => .{ .v_ss, .max },
63506351 .min => .{ .v_ss, .max },
......@@ -6421,6 +6422,7 @@ fn genBinOp(
64216422 switch (air_tag) {
64226423 .add => .{ .v_ss, .add },
64236424 .sub => .{ .v_ss, .sub },
6425 .mul => .{ .v_ss, .mul },
64246426 .div_float, .div_trunc, .div_floor, .div_exact => .{ .v_ss, .div },
64256427 .max => .{ .v_ss, .max },
64266428 .min => .{ .v_ss, .max },
......@@ -6468,6 +6470,7 @@ fn genBinOp(
64686470 switch (air_tag) {
64696471 .add => .{ .v_ps, .add },
64706472 .sub => .{ .v_ps, .sub },
6473 .mul => .{ .v_ps, .mul },
64716474 .div_float, .div_trunc, .div_floor, .div_exact => .{ .v_ps, .div },
64726475 .max => .{ .v_ps, .max },
64736476 .min => .{ .v_ps, .max },
......@@ -6507,6 +6510,7 @@ fn genBinOp(
65076510 switch (air_tag) {
65086511 .add => .{ .v_ps, .add },
65096512 .sub => .{ .v_ps, .sub },
6513 .mul => .{ .v_ps, .mul },
65106514 .div_float, .div_trunc, .div_floor, .div_exact => .{ .v_ps, .div },
65116515 .max => .{ .v_ps, .max },
65126516 .min => .{ .v_ps, .max },
......@@ -6546,6 +6550,7 @@ fn genBinOp(
65466550 switch (air_tag) {
65476551 .add => .{ .v_ps, .add },
65486552 .sub => .{ .v_ps, .sub },
6553 .mul => .{ .v_ps, .mul },
65496554 .div_float, .div_trunc, .div_floor, .div_exact => .{ .v_ps, .div },
65506555 .max => .{ .v_ps, .max },
65516556 .min => .{ .v_ps, .max },
test/behavior/floatop.zig+1-1
......@@ -184,7 +184,7 @@ test "more @sqrt f16 tests" {
184184test "another, possibly redundant @sqrt test" {
185185 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
186186 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
187 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
187 if (no_x86_64_hardware_f16_support) return error.SkipZigTest; // TODO
188188 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
189189
190190 try testSqrtLegacy(f64, 12.0);