diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2021-12-10 18:54:56 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-12-10 18:54:56 -0800 |
| commit | 97c0373fa7ee125d2d4e73f9b1dc8ea0e2c2e86a (patch) | |
| tree | d2aa342a53aef95f88456a63fa7874f3c51ba3b8 /test | |
| parent | 75f3e7a4a05db7ea805e581f78117a41768945ae (diff) | |
| parent | 516945d7d9b4d8b969d037076799d4ed29cecdda (diff) | |
| download | zig-97c0373fa7ee125d2d4e73f9b1dc8ea0e2c2e86a.tar.gz zig-97c0373fa7ee125d2d4e73f9b1dc8ea0e2c2e86a.zip | |
Merge pull request #10295 from ifreund/prefetch
Implement @prefetch()
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 }); +} |
