From 7bb6393b593dcf4c8b929fc6b04b576e55f34607 Mon Sep 17 00:00:00 2001 From: Isaac Freund Date: Tue, 7 Dec 2021 19:35:46 +0100 Subject: stage1: implement @prefetch() builtin --- test/behavior/prefetch.zig | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 test/behavior/prefetch.zig (limited to 'test/behavior/prefetch.zig') diff --git a/test/behavior/prefetch.zig b/test/behavior/prefetch.zig new file mode 100644 index 0000000000..98dc72a976 --- /dev/null +++ b/test/behavior/prefetch.zig @@ -0,0 +1,27 @@ +const std = @import("std"); + +test "@prefetch()" { + var a: u32 = 42; + + @prefetch(&a, .{}); + + @prefetch(&a, .{ .rw = .read, .locality = 3, .cache = .data }); + @prefetch(&a, .{ .rw = .read, .locality = 2, .cache = .data }); + @prefetch(&a, .{ .rw = .read, .locality = 1, .cache = .data }); + @prefetch(&a, .{ .rw = .read, .locality = 0, .cache = .data }); + + @prefetch(&a, .{ .rw = .write, .locality = 3, .cache = .data }); + @prefetch(&a, .{ .rw = .write, .locality = 2, .cache = .data }); + @prefetch(&a, .{ .rw = .write, .locality = 1, .cache = .data }); + @prefetch(&a, .{ .rw = .write, .locality = 0, .cache = .data }); + + @prefetch(&a, .{ .rw = .read, .locality = 3, .cache = .instruction }); + @prefetch(&a, .{ .rw = .read, .locality = 2, .cache = .instruction }); + @prefetch(&a, .{ .rw = .read, .locality = 1, .cache = .instruction }); + @prefetch(&a, .{ .rw = .read, .locality = 0, .cache = .instruction }); + + @prefetch(&a, .{ .rw = .write, .locality = 3, .cache = .instruction }); + @prefetch(&a, .{ .rw = .write, .locality = 2, .cache = .instruction }); + @prefetch(&a, .{ .rw = .write, .locality = 1, .cache = .instruction }); + @prefetch(&a, .{ .rw = .write, .locality = 0, .cache = .instruction }); +} -- cgit v1.2.3