aboutsummaryrefslogtreecommitdiff
path: root/src/codegen.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2021-08-19 17:09:18 -0700
committerAndrew Kelley <andrew@ziglang.org>2021-08-19 17:09:18 -0700
commit6926e6e705b7d1c0a69ec20b6b0e1ea280f036d1 (patch)
treebccebf1e310cc17a63318f1906f996143fc2c0e7 /src/codegen.zig
parent87d5db057b53fc643ac0c316653a46ada54b3c91 (diff)
parentdf10e998ee4a935f49943fb5c0ef134f336c6ee3 (diff)
downloadzig-6926e6e705b7d1c0a69ec20b6b0e1ea280f036d1.tar.gz
zig-6926e6e705b7d1c0a69ec20b6b0e1ea280f036d1.zip
Merge remote-tracking branch 'origin/master' into llvm13
Diffstat (limited to 'src/codegen.zig')
-rw-r--r--src/codegen.zig2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/codegen.zig b/src/codegen.zig
index d5b106dbe3..11c007dbed 100644
--- a/src/codegen.zig
+++ b/src/codegen.zig
@@ -1247,6 +1247,7 @@ fn Function(comptime arch: std.Target.Cpu.Arch) type {
const bin_op = self.air.instructions.items(.data)[inst].bin_op;
const result: MCValue = if (self.liveness.isUnused(inst)) .dead else switch (arch) {
.arm, .armeb => try self.genArmBinOp(inst, bin_op.lhs, bin_op.rhs, .bit_and),
+ .x86_64 => try self.genX8664BinMath(inst, bin_op.lhs, bin_op.rhs),
else => return self.fail("TODO implement bitwise and for {}", .{self.target.cpu.arch}),
};
return self.finishAir(inst, result, .{ bin_op.lhs, bin_op.rhs, .none });
@@ -1256,6 +1257,7 @@ fn Function(comptime arch: std.Target.Cpu.Arch) type {
const bin_op = self.air.instructions.items(.data)[inst].bin_op;
const result: MCValue = if (self.liveness.isUnused(inst)) .dead else switch (arch) {
.arm, .armeb => try self.genArmBinOp(inst, bin_op.lhs, bin_op.rhs, .bit_or),
+ .x86_64 => try self.genX8664BinMath(inst, bin_op.lhs, bin_op.rhs),
else => return self.fail("TODO implement bitwise or for {}", .{self.target.cpu.arch}),
};
return self.finishAir(inst, result, .{ bin_op.lhs, bin_op.rhs, .none });