aboutsummaryrefslogtreecommitdiff
path: root/test/behavior/vector.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2022-06-30 19:09:21 -0700
committerAndrew Kelley <andrew@ziglang.org>2022-06-30 19:39:41 -0700
commit095e24e537fcb6a702b992d946d1ca73d6f608b3 (patch)
treeff875289e34de2ddba235648435b2abe5dae5bc9 /test/behavior/vector.zig
parentd3542be875704bffc931970948345d1a44e25b8e (diff)
downloadzig-095e24e537fcb6a702b992d946d1ca73d6f608b3.tar.gz
zig-095e24e537fcb6a702b992d946d1ca73d6f608b3.zip
stage2: implement alignment calculation of vectors
closes #11856
Diffstat (limited to 'test/behavior/vector.zig')
-rw-r--r--test/behavior/vector.zig24
1 files changed, 24 insertions, 0 deletions
diff --git a/test/behavior/vector.zig b/test/behavior/vector.zig
index fc49bce6e2..e355db5166 100644
--- a/test/behavior/vector.zig
+++ b/test/behavior/vector.zig
@@ -1048,3 +1048,27 @@ test "@shlWithOverflow" {
try S.doTheTest();
comptime try S.doTheTest();
}
+
+test "alignment of vectors" {
+ try expect(@alignOf(@Vector(2, u8)) == 2);
+ try expect(@alignOf(@Vector(2, u1)) == 2);
+ try expect(@alignOf(@Vector(1, u1)) == 1);
+ try expect(@alignOf(@Vector(2, u16)) == 4);
+}
+
+test "loading the second vector from a slice of vectors" {
+ if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
+
+ @setRuntimeSafety(false);
+ var small_bases = [2]@Vector(2, u8){
+ @Vector(2, u8){ 0, 1 },
+ @Vector(2, u8){ 2, 3 },
+ };
+ var a: []const @Vector(2, u8) = &small_bases;
+ var a4 = a[1][1];
+ try expect(a4 == 3);
+}