diff options
| author | Isaac Freund <isaac.freund@coil.com> | 2021-12-07 19:35:46 +0100 |
|---|---|---|
| committer | Isaac Freund <mail@isaacfreund.com> | 2021-12-11 00:29:31 +0100 |
| commit | 7bb6393b593dcf4c8b929fc6b04b576e55f34607 (patch) | |
| tree | b9deb3d1d49eb0818489b71e566e3a483fa4189d /test | |
| parent | 175463d75dbde1e8e4c5a55159ab4e9446fd211c (diff) | |
| download | zig-7bb6393b593dcf4c8b929fc6b04b576e55f34607.tar.gz zig-7bb6393b593dcf4c8b929fc6b04b576e55f34607.zip | |
stage1: implement @prefetch() builtin
Diffstat (limited to 'test')
| -rw-r--r-- | test/behavior.zig | 1 | ||||
| -rw-r--r-- | test/behavior/prefetch.zig | 27 |
2 files changed, 28 insertions, 0 deletions
diff --git a/test/behavior.zig b/test/behavior.zig index 6c793fad53..4a28e1b07a 100644 --- a/test/behavior.zig +++ b/test/behavior.zig @@ -169,6 +169,7 @@ test { _ = @import("behavior/optional_stage1.zig"); _ = @import("behavior/pointers_stage1.zig"); _ = @import("behavior/popcount_stage1.zig"); + _ = @import("behavior/prefetch.zig"); _ = @import("behavior/ptrcast_stage1.zig"); _ = @import("behavior/reflection.zig"); _ = @import("behavior/saturating_arithmetic_stage1.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 }); +} |
