aboutsummaryrefslogtreecommitdiff
path: root/test/behavior
AgeCommit message (Collapse)Author
2023-05-18x86_64: fix float min/max behaviorJacob Young
2023-05-18Revert "Sema: handle recursive inferred errors better in ↵Andrew Kelley
analyzeIsNonErrComptimeOnly" This reverts commit 5aa9628de3c6637f45b9d8cf8cbd19c422a74f6f. This is a breaking language change and I do not agree with it. Please go through the proposal process on this one.
2023-05-18make `@trap` return unreachable/noreturn (#15749)zooster
`@trap` is a special function that we know never returns so it should behave just like `@panic` and `@compileError` do currently and cause the "unreachable code" + "control flow is diverted here" compile error. Currently, `@trap(); @trap();` does not cause this error. Now it does.
2023-05-16Merge pull request #15713 from alichraghi/ali-spirvAndrew Kelley
spirv: get more behavior tests passing
2023-05-15Merge pull request #15704 from Vexu/fix-memcpysetAndrew Kelley
`@mem{cpy,set}` fixes
2023-05-15spirv: lower ptrtoint & ignore dbg_inline instructionsAli Chraghi
2023-05-15spirv: implement arithmeticTypeInfo for Enum (`@intToEnum`)Ali Chraghi
2023-05-15Sema: use `elemPtrOneLayerOnly` in `zirMemCpy`Veikka Tuominen
Closes #15633
2023-05-15Sema: ensure dest ptr of memcpy has lengthVeikka Tuominen
Closes #15513
2023-05-15x86_64: implement integer vector bitwise operationsJacob Young
2023-05-15x86_64: implement integer vector mulJacob Young
2023-05-15x86_64: fix `@clz` and `@ctz` of `u8`Jacob Young
2023-05-15x86_64: redo movement, float negation, and `@fabs`Jacob Young
2023-05-15x86_64: reimplement `@floatToInt`Jacob Young
2023-05-15Dwarf: fix overflow write byte_sizeJacob Young
2023-05-15x86_64: implement calling function referencesJacob Young
2023-05-15x86_64: implement global payload pointersJacob Young
2023-05-15x86_64: implement integer vector movementJacob Young
2023-05-15x86_64: implement stack probingJacob Young
2023-05-15x86_64: fix field_ptr nonsenseJacob Young
2023-05-15codegen: implement global enum_numberedJacob Young
2023-05-15x86_64: implement union_initJacob Young
2023-05-15x86_64: add missing multply of `f16`Jacob Young
2023-05-15spirv: lower float_to_int and int_to_floatAli Chraghi
2023-05-13Update all std.mem.tokenize calls to their appropriate functionRyan Liptak
Everywhere that can now use `tokenizeScalar` should get a nice little performance boost.
2023-05-13Merge pull request #15643 from Vexu/fixesVeikka Tuominen
make `@call` compile errors match regular calls
2023-05-12Sema: handle recursive inferred errors better in analyzeIsNonErrComptimeOnlyVeikka Tuominen
Closes #15669
2023-05-11setup spirv backend in behavior testsAli Chraghi
2023-05-11Merge pull request #15519 from dweiller/issue-15482Andrew Kelley
Optimize lowering of `s[start..][0..len]`
2023-05-11Merge pull request #15639 from jacobly0/signed-modAndrew Kelley
llvm/cbe: fix signed `@mod`/`@divFloor` computations
2023-05-11fix incorrect use of mutable pointers to temporary valuesVeikka Tuominen
2023-05-11Sema: return const pointers from ref initsVeikka Tuominen
Closes #12189
2023-05-10llvm: fix `@max`/`@min` of unsupported float typesJacob Young
Closes #15611
2023-05-10llvm/cbe: fix signed `@mod`/`@divFloor` computationsJacob Young
Closes #15636
2023-05-09fix `[x]u65529` and above overflowingr00ster91
``` $ cat overflow.zig test { var a: [1]u65535 = undefined; _ = a; } $ zig-out/bin/zig test overflow.zig thread 290266 panic: integer overflow zig/src/type.zig:3604:55: 0xada43d in intAbiAlignment (zig) std.math.ceilPowerOfTwoPromote(u16, (bits + 7) / 8), ^ zig/src/type.zig:3598:42: 0xadd4ea in intAbiSize (zig) const alignment = intAbiAlignment(bits, target); ^ zig/src/type.zig:3500:61: 0x92be91 in abiSizeAdvanced (zig) return AbiSizeAdvanced{ .scalar = intAbiSize(bits, target) }; ^ zig/src/type.zig:3385:62: 0x928933 in abiSizeAdvanced (zig) switch (try payload.elem_type.abiSizeAdvanced(target, strat)) { ^ zig/src/type.zig:3268:32: 0x92c012 in abiSize (zig) return (abiSizeAdvanced(ty, target, .eager) catch unreachable).scalar; ^ ``` This is only noticed in a debug build of zig and silently does the wrong thing and overflows in release builds. This happened to `[x]u65529` and above because of the ` + 7` on a `u16`.
2023-05-08x86_64: implement binary operations for `f16` and `f16` vectorsJacob Young
2023-05-08x86_64: implement `@floor`, `@ceil`, and `@trunc` for float vectorsJacob Young
2023-05-08x86_64: implement `@sqrt` for `f16` scalars and vectorsJacob Young
2023-05-08x86_64: implement float cast from `f16` to `f64`Jacob Young
2023-05-08Dwarf: workaround crashJacob Young
2023-05-08x86_64: implement some float and float vector movementJacob Young
This allows actually storing value of these supported types in registers, and not restricting them to stack slots.
2023-05-08x86_64: implement `@mulAdd`Jacob Young
2023-05-08x86_64: fix unordered float equalityJacob Young
2023-05-08x86_64: implement f16 conversions when supportedJacob Young
2023-05-08x86_64: implement `@ctz` and `@clz` for `u128`Jacob Young
2023-05-08Disallow named test decls with duplicate namesDominic
2023-05-07test: disable by-length slice test on wasm backenddweiller
2023-05-07test: add behavior tests for pointer slice-by-lengthdweiller
2023-05-07test: add behavior tests for slice-by-lengthdweiller
2023-05-03x86_64: implement movement of more typesJacob Young
* f16 * f128 * vector