diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2022-01-15 15:17:48 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2022-01-15 15:18:25 -0700 |
| commit | d48e4245b68bf25c7f41804a5012ac157a5ee546 (patch) | |
| tree | 3e26f4794d2f8ace3484f5dd24a01aa78298f5e7 /src/arch/aarch64/CodeGen.zig | |
| parent | 3901b6fb000b909e90347f6910ea6315ee03e220 (diff) | |
| download | zig-d48e4245b68bf25c7f41804a5012ac157a5ee546.tar.gz zig-d48e4245b68bf25c7f41804a5012ac157a5ee546.zip | |
stage2: implement `@prefetch`
Diffstat (limited to 'src/arch/aarch64/CodeGen.zig')
| -rw-r--r-- | src/arch/aarch64/CodeGen.zig | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/arch/aarch64/CodeGen.zig b/src/arch/aarch64/CodeGen.zig index f8a774af3b..d5993ea5d7 100644 --- a/src/arch/aarch64/CodeGen.zig +++ b/src/arch/aarch64/CodeGen.zig @@ -595,6 +595,7 @@ fn genBody(self: *Self, body: []const Air.Inst.Index) InnerError!void { .error_name => try self.airErrorName(inst), .splat => try self.airSplat(inst), .vector_init => try self.airVectorInit(inst), + .prefetch => try self.airPrefetch(inst), .atomic_store_unordered => try self.airAtomicStore(inst, .Unordered), .atomic_store_monotonic => try self.airAtomicStore(inst, .Monotonic), @@ -2597,6 +2598,11 @@ fn airVectorInit(self: *Self, inst: Air.Inst.Index) !void { return bt.finishAir(result); } +fn airPrefetch(self: *Self, inst: Air.Inst.Index) !void { + const prefetch = self.air.instructions.items(.data)[inst].prefetch; + return self.finishAir(inst, MCValue.dead, .{ prefetch.ptr, .none, .none }); +} + fn resolveInst(self: *Self, inst: Air.Inst.Ref) InnerError!MCValue { // First section of indexes correspond to a set number of constant values. const ref_int = @enumToInt(inst); |
