diff options
| author | Veikka Tuominen <git@vexu.eu> | 2022-12-15 20:34:26 +0200 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2022-12-15 21:06:35 -0500 |
| commit | 8a0a6b7387fcd0017db85de14793abfd6ec7f6e5 (patch) | |
| tree | 75382432d967dd5cff1fa5aaded940a627b8df7b /test/behavior/vector.zig | |
| parent | 0d92fcf6a503780dcaadccef87e72824c7942a96 (diff) | |
| download | zig-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.zig | 27 |
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); +} |
