| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2023-10-16 | elf: create new synthetic section ZigGotSection | Jakub Konka | |
| 2023-10-15 | wasm: lower min/max for floats to compiler_rt | Robin 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-14 | codegen/wasm: fix non-byte-sized signed integer comparison | Xavier Bouchoux | |
| 2023-10-14 | codegen/wasm: fix tuple member offset computation | Xavier Bouchoux | |
| It didn't account for field alignement. | |||
| 2023-10-09 | Merge pull request #17391 from xxxbxxx/load-i4 | Andrew Kelley | |
| codegen/llvm: truncate padding bits when loading a non-byte-sized value | |||
| 2023-10-09 | x86_64: implement 128-bit integer multiply and divide | Jacob Young | |
| 2023-10-09 | x86_64: implement `@min` and `@max` for 128-bit integers | Jacob Young | |
| 2023-10-09 | x86_64: implement `@abs` of 128-bit integers | Jacob Young | |
| 2023-10-09 | x86_64: implement struct field value for register pairs | Jacob Young | |
| 2023-10-09 | x86_64: implement 128-bit integer shifts in registers | Jacob Young | |
| 2023-10-08 | Merge pull request #17438 from Luukdegram/issue-17436 | Luuk de Gram | |
| wasm - fix `@tagName` for signed enums | |||
| 2023-10-08 | wasm: correctly lower signed value in `@tagName` | Luuk de Gram | |
| 2023-10-08 | codegen/wasm: fix intcast accross 32-bits boundary | Xavier Bouchoux | |
| 2023-10-08 | x86_64: implement `@mulAdd` of floats for baseline | Jacob Young | |
| 2023-10-08 | x86_64: implement `@rem` for floats | Jacob Young | |
| 2023-10-08 | x86_64: fix `@divTrunc` and `@divFloor` of `f16` | Jacob Young | |
| 2023-10-08 | x86_64: fix undersized vector binary operations | Jacob Young | |
| 2023-10-08 | x86_64: fix conversions between floats and 128-bit integers | Jacob Young | |
| 2023-10-08 | x86_64: implement `@abs` for some integer vector types | Jacob Young | |
| 2023-10-08 | x86_64: fix bitcast from `f80` | Jacob Young | |
| 2023-10-07 | x86_64: hack around silent `f80` miscompilations | Jacob Young | |
| The x87 kind sucks. | |||
| 2023-10-07 | x86_64: improve inline assembly support | Jacob Young | |
| * instruction prefixes * mnemonic fixes * labels * memory operands * read-write constraint modifier * register and memory alternative constraint | |||
| 2023-10-07 | x86_64: implement C var args | Jacob Young | |
| 2023-10-07 | x86_64: implement negation and `@abs` for `f80` | Jacob Young | |
| Also implement live-outs since the x87 requires so much care around liveness tracking. | |||
| 2023-10-07 | x86_64: implement `f80` movement | Jacob Young | |
| 2023-10-07 | x86_64: fix C abi typos | Jacob Young | |
| 2023-10-05 | x86_64: implement C abi for everything else | Jacob Young | |
| 2023-10-05 | x86_64: implement C abi for f128 | Jacob Young | |
| 2023-10-05 | x86_64: refactor calling convention checks | Jacob Young | |
| 2023-10-05 | plan9: refactor debug info | Jacob Young | |
| The main goal is to stop depending on `emit.lower.target`. | |||
| 2023-10-05 | x86_64: fix abi bit/byte mixups | Jacob Young | |
| 2023-10-04 | x86_64: implement 128-bit integer comparisons | Jacob Young | |
| 2023-10-04 | x86_64: implement C abi for 128-bit integers | Jacob Young | |
| 2023-10-04 | x86_64: fix various crashes | Jacob Young | |
| 2023-10-03 | wasm: implement lowering anon decls | Luuk de Gram | |
| 2023-10-03 | compiler: start handling anonymous decls differently | Andrew Kelley | |
| Instead of explicitly creating a `Module.Decl` object for each anonymous declaration, each `InternPool.Index` value is implicitly understood to be an anonymous declaration when encountered by backend codegen. The memory management strategy for these anonymous decls then becomes to garbage collect them along with standard InternPool garbage. In the interest of a smooth transition, this commit only implements this new scheme for string literals and leaves all the previous mechanisms in place. | |||
| 2023-10-03 | codegen: fix byte-aligned field offsets in unaligned nested packed structs | Xavier Bouchoux | |
| 2023-10-03 | codegen: fix field offsets in packed structs | Xavier Bouchoux | |
| * add nested packed struct/union behavior tests * use ptr_info.packed_offset rather than trying to duplicate the logic from Sema.structFieldPtrByIndex() * use the container_ptr_info.packed_offset to account for non-aligned nested structs. * dedup type.packedStructFieldBitOffset() and module.structPackedFieldBitOffset() | |||
| 2023-10-01 | x86_64: implement float `@sqrt` builtin | Jacob Young | |
| 2023-10-01 | x86_64: implement float arithmetic builtins | Jacob Young | |
| 2023-10-01 | x86_64: implement float round builtins | Jacob Young | |
| 2023-10-01 | x86_64: add missing caller preserved regs | Jacob Young | |
| All allocatable registers have to be either callee preserved or caller preserved. | |||
| 2023-10-01 | x86_64: implement float compare and cast builtins | Jacob Young | |
| 2023-10-01 | behavior: cleanup floatop tests | Jacob Young | |
| 2023-10-01 | x86_64: implement and test unary float builtins | Jacob Young | |
| 2023-10-01 | x86_64: emit R_X86_64_GOT32 for non-PIC GOT references | Jakub Konka | |
| 2023-09-27 | Revert "compiler: don't use `@abs` builtin yet" | Andrew Kelley | |
| This reverts commit 21780899eb17a0cb795ff40e5fae6556c38ea13e. After this commit, a version of the compiler which supports the new `@abs` builtin is required. | |||
| 2023-09-27 | compiler: don't use `@abs` builtin yet | Andrew Kelley | |
| This commit can be used to rebuild zig1.wasm | |||
| 2023-09-27 | Rename `@fabs` to `@abs` and accept integers | antlilja | |
| Replaces the @fabs builtin with a new @abs builtins which accepts floats, signed integers and vectors of said types. | |||
| 2023-09-21 | wasm: fix regression of C ABI | Andrew Kelley | |
| It seems the webassembly backend does not want the exception that `structFieldAlignmentExtern` makes for 128-bit integers. Perhaps that logic should be modified to check if the target is wasm. Without this, this branch fails the C ABI tests for wasm, causing this: ``` wasm-ld: warning: function signature mismatch: zig_struct_u128 >>> defined as (i64, i64) -> void in cfuncs.o >>> defined as (i32) -> void in test-c-abi-wasm32-wasi-musl-ReleaseFast.wasm.o ``` | |||
