aboutsummaryrefslogtreecommitdiff
path: root/test/cases.zig
diff options
context:
space:
mode:
authorJacob G-W <jacoblevgw@gmail.com>2021-08-18 21:29:32 -0400
committerVeikka Tuominen <git@vexu.eu>2021-08-19 22:21:16 +0300
commitdf10e998ee4a935f49943fb5c0ef134f336c6ee3 (patch)
tree906dfb30f30a6da36308eee7f1ea22ace0f80a0d /test/cases.zig
parent62fe4a0ba8a08b9477e772841d3ae128937f0752 (diff)
downloadzig-df10e998ee4a935f49943fb5c0ef134f336c6ee3.tar.gz
zig-df10e998ee4a935f49943fb5c0ef134f336c6ee3.zip
stage2 x86_64: enable bitwise and + or and add tests
Diffstat (limited to 'test/cases.zig')
-rw-r--r--test/cases.zig42
1 files changed, 42 insertions, 0 deletions
diff --git a/test/cases.zig b/test/cases.zig
index 302246065f..e8479b792e 100644
--- a/test/cases.zig
+++ b/test/cases.zig
@@ -1536,6 +1536,48 @@ pub fn addCases(ctx: *TestContext) !void {
, "");
}
{
+ var case = ctx.exe("runtime bitwise and", linux_x64);
+
+ case.addCompareOutput(
+ \\pub fn main() void {
+ \\ var i: u32 = 10;
+ \\ var j: u32 = 11;
+ \\ assert(i & 1 == 0);
+ \\ assert(j & 1 == 1);
+ \\ var m1: u32 = 0b1111;
+ \\ var m2: u32 = 0b0000;
+ \\ assert(m1 & 0b1010 == 0b1010);
+ \\ assert(m2 & 0b1010 == 0b0000);
+ \\}
+ \\fn assert(b: bool) void {
+ \\ if (!b) unreachable;
+ \\}
+ ,
+ "",
+ );
+ }
+ {
+ var case = ctx.exe("runtime bitwise or", linux_x64);
+
+ case.addCompareOutput(
+ \\pub fn main() void {
+ \\ var i: u32 = 10;
+ \\ var j: u32 = 11;
+ \\ assert(i | 1 == 11);
+ \\ assert(j | 1 == 11);
+ \\ var m1: u32 = 0b1111;
+ \\ var m2: u32 = 0b0000;
+ \\ assert(m1 | 0b1010 == 0b1111);
+ \\ assert(m2 | 0b1010 == 0b1010);
+ \\}
+ \\fn assert(b: bool) void {
+ \\ if (!b) unreachable;
+ \\}
+ ,
+ "",
+ );
+ }
+ {
var case = ctx.exe("merge error sets", linux_x64);
case.addCompareOutput(