aboutsummaryrefslogtreecommitdiff
path: root/test/behavior/vector.zig
diff options
context:
space:
mode:
authorVeikka Tuominen <git@vexu.eu>2022-12-15 20:34:26 +0200
committerAndrew Kelley <andrew@ziglang.org>2022-12-15 21:06:35 -0500
commit8a0a6b7387fcd0017db85de14793abfd6ec7f6e5 (patch)
tree75382432d967dd5cff1fa5aaded940a627b8df7b /test/behavior/vector.zig
parent0d92fcf6a503780dcaadccef87e72824c7942a96 (diff)
downloadzig-8a0a6b7387fcd0017db85de14793abfd6ec7f6e5.tar.gz
zig-8a0a6b7387fcd0017db85de14793abfd6ec7f6e5.zip
port packed vector elem ptr logic from stage1
Closes #12812 Closes #13925
Diffstat (limited to 'test/behavior/vector.zig')
-rw-r--r--test/behavior/vector.zig27
1 files changed, 27 insertions, 0 deletions
diff --git a/test/behavior/vector.zig b/test/behavior/vector.zig
index 9bcc5f9b9e..322142d8fc 100644
--- a/test/behavior/vector.zig
+++ b/test/behavior/vector.zig
@@ -1234,3 +1234,30 @@ test "array operands to shuffle are coerced to vectors" {
var b = @shuffle(u32, a, @splat(5, @as(u24, 0)), mask);
try expectEqual([_]u32{ 0, 3, 5, 7, 9 }, b);
}
+
+test "load packed vector element" {
+ if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
+
+ var x: @Vector(2, u15) = .{ 1, 4 };
+ try expect((&x[0]).* == 1);
+ try expect((&x[1]).* == 4);
+}
+
+test "store packed vector element" {
+ if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
+
+ var v = @Vector(4, u1){ 1, 1, 1, 1 };
+ try expectEqual(@Vector(4, u1){ 1, 1, 1, 1 }, v);
+ v[0] = 0;
+ try expectEqual(@Vector(4, u1){ 0, 1, 1, 1 }, v);
+}