aboutsummaryrefslogtreecommitdiff
path: root/test/behavior/maximum_minimum.zig
AgeCommit message (Collapse)Author
2025-07-22aarch64: add new from scratch self-hosted backendJacob Young
2025-06-19x86_64: increase passing test coverage on windowsJacob Young
Now that codegen has no references to linker state this is much easier. Closes #24153
2025-06-16rename spirv backend nameAli Cheraghi
`stage2_spirv64` -> `stage2_spirv`
2025-06-01Legalize: implement scalarization of overflow intrinsicsJacob Young
2025-05-31Legalize: implement scalarization of binary operationsJacob Young
2025-05-19Sema: rewrite `analyzeMinMax`mlugg
I only wanted to fix a bug originally, but this logic was kind of a rat's nest. But now... okay, it still *is*, but it's now a slightly more navigable nest, with cute little signs occasionally, painted by adorable rats desparately trying to follow the specification. Hopefully #3806 comes along at some point to simplify this logic a little. Resolves: #23139
2025-02-24test: skip failing tests with spirv-vulkanAli Cheraghi
2025-01-31x86_64: rewrite vector `@intCast`Jacob Young
2025-01-26x86_64: rewrite `@min`/`@max` for scalar floatsJacob Young
2025-01-24x86_64: rewrite scalar and vector int `@min` and `@max`Jacob Young
2025-01-16x86_64: implement switch jump tablesJacob Young
2024-11-03std.Target: Replace isARM() with isArmOrThumb() and rename it to isArm().Alex Rønne Petersen
The old isARM() function was a portability trap. With the name it had, it seemed like the obviously correct function to use, but it didn't include Thumb. In the vast majority of cases where someone wants to ask "is the target Arm?", Thumb *should* be included. There are exactly 3 cases in the codebase where we do actually need to exclude Thumb, although one of those is in Aro and mirrors a check in Clang that is itself likely a bug. These rare cases can just add an extra isThumb() check.
2024-09-15Sema: don't emit instruction when casting @min/@max result to OPV typemlugg
Resolves: #21408
2024-08-18test: Disable `@min/max for floats` on mips64.Alex Rønne Petersen
https://github.com/ziglang/zig/issues/21090
2024-05-11riscv: finally fix bug + `airAggregateInit`David Rubin
i just hadn't realized that I placed the `riscv_start` branch in the non-simplified starts
2024-05-11riscv: add stage2_riscv to test matrix and bypass failing testsDavid Rubin
2024-02-04spirv: vectorize max, minRobin Voetter
2023-11-19test: update behavior to silence 'var is never mutated' errorsmlugg
2023-10-26test: enable `c-abi-tests` for the x86_64 backendJacob Young
Add testing for `x86_64_v2` and `x86_64_v3` with the x86_64 backend.
2023-10-15spirv: update failing / passing testsRobin Voetter
Some tests are now failing due to debug info changes, some tests now pass due to improved compiler functionality.
2023-10-15wasm: lower min/max for floats to compiler_rtRobin Voetter
The min and max builtins in Zig have some intricate behavior related to floats, that is not replicated with the min and max wasm instructions or using simple select operations. By lowering these instructions to compiler_rt, handling around NaNs is done correctly. See also https://github.com/WebAssembly/design/issues/214
2023-10-15spirv: air min/maxRobin Voetter
2023-10-08x86_64: fix undersized vector binary operationsJacob Young
2023-10-04behavior: reenable passing x86_64 testsJacob Young
2023-10-01x86_64: implement float round builtinsJacob Young
2023-09-23spirv: enable passing testsRobin Voetter
2023-09-10wasm: enable successful behavior testsTechatrix
2023-08-18Make NaNs quiet by default and other NaN tidy-up (#16826)Lewis Gaul
* Generalise NaN handling and make std.math.nan() give quiet NaNs * Address uses of std.math.qnan_* and std.math.nan_* consts * Comment out failing test due to issues with signalling NaN * Fix issue in c_builtins.zig where we need qnan_u32
2023-07-31std: finish cleanup up asmJacob Young
This also required implementing the necessary syntax in the x86_64 backend.
2023-07-31cbe: get behavior tests running on armJacob Young
Specifically without linking libc.
2023-07-01spirv: disable new behavior tests that do not passRobin Voetter
Some new behavior tests have recently been added, and not all of these pass with the SPIR-V backend.
2023-06-26Sema: fix `@min`/`@max` type resolution with all runtime argsJacob Young
Closes #16229
2023-06-16Sema: consider type bounds when refining result type of `@min`/`@max`mlugg
I achieved this through a major refactor of the logic of analyzeMinMax. This change should be compatible with vectors of comptime_int, which Andrew said are supposed to work (but which currently do not).
2023-06-13all: replace `comptime try` with `try comptime`Eric Joldasov
Signed-off-by: Eric Joldasov <bratishkaerik@getgoogleoff.me>
2023-05-29x86_64: hotfix for crash during in-memory coercion of large typeJacob Young
Unblocks #15768 Closes #15904
2023-05-29Sema: return comptime_int if all args to @min/@max are comptime_intmlugg
Resolves: #15776
2023-05-20spirv: more passing testsRobin Voetter
2023-05-18x86_64: fix float min/max behaviorJacob Young
2023-05-16Merge pull request #15713 from alichraghi/ali-spirvAndrew Kelley
spirv: get more behavior tests passing
2023-05-15x86_64: implement integer vector movementJacob Young
2023-05-15spirv: lower float_to_int and int_to_floatAli Chraghi
2023-05-11setup spirv backend in behavior testsAli Chraghi
2023-05-10llvm: fix `@max`/`@min` of unsupported float typesJacob Young
Closes #15611
2023-05-03x86_64: fix feature confusionJacob Young
2023-05-02Implement multi-argument @min/@max and notice boundsmlugg
Resolves: #14039
2023-05-01behavior: update affected tests for the x86_64 backendJacob Young
2023-03-21x86_64: implement basic float opsJacob Young
2023-03-05CBE: implement vector operationsJacob Young
Also, bigint add and sub which is all I was actually trying to do.
2022-12-10stage2: sparc64: Skip unimplemented testsKoakuma
2022-12-07Sema: resolve lazy values in analyzeMinMaxVeikka Tuominen
Closes #13797