diff options
| author | Veikka Tuominen <git@vexu.eu> | 2024-01-02 17:33:41 +0200 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2024-01-06 16:49:41 -0800 |
| commit | 804cee3b93cb7084c16ee61d3bcb57f7d3c9f0bc (patch) | |
| tree | 3d8c534b1adc352b248255ef2906ef2bdf11dffc /test/behavior/vector.zig | |
| parent | 282ff8d3bd4a0d870a98f145aa87039e0409b745 (diff) | |
| download | zig-804cee3b93cb7084c16ee61d3bcb57f7d3c9f0bc.tar.gz zig-804cee3b93cb7084c16ee61d3bcb57f7d3c9f0bc.zip | |
categorize `behavior/bugs/<issueno>.zig` tests
Diffstat (limited to 'test/behavior/vector.zig')
| -rw-r--r-- | test/behavior/vector.zig | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/test/behavior/vector.zig b/test/behavior/vector.zig index db42658c43..36dd7ca265 100644 --- a/test/behavior/vector.zig +++ b/test/behavior/vector.zig @@ -1530,3 +1530,39 @@ test "index into comptime-known vector is comptime-known" { const vec: @Vector(2, f16) = [2]f16{ 1.5, 3.5 }; if (vec[0] != 1.5) @compileError("vec should be comptime"); } + +test "arithmetic on zero-length vectors" { + if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO + + { + const a = @Vector(0, i32){}; + const b = @Vector(0, i32){}; + _ = a + b; + } + { + const a = @Vector(0, i32){}; + const b = @Vector(0, i32){}; + _ = a - b; + } +} + +test "@reduce on bool vector" { + if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO + + if (comptime builtin.zig_backend == .stage2_llvm and builtin.cpu.arch.endian() == .big) { + // https://github.com/ziglang/zig/issues/13782 + return error.SkipZigTest; + } + + const a = @Vector(2, bool){ true, true }; + const b = @Vector(1, bool){true}; + try std.testing.expect(@reduce(.And, a)); + try std.testing.expect(@reduce(.And, b)); +} |
