| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2023-05-08 | x86_64: implement `@ctz` and `@clz` for `u128` | Jacob Young | |
| 2023-05-08 | x86_64: implement `@floor`, `@ceil`, and `@trunc` | Jacob Young | |
| 2023-05-03 | x86_64: implement movement of more types | Jacob Young | |
| * f16 * f128 * vector | |||
| 2023-05-03 | x86_64: implement sqrt | Jacob Young | |
| 2023-05-03 | x86_64: optimize code size for double neg/abs | Jacob Young | |
| 2023-05-03 | x86_64: fix feature confusion | Jacob Young | |
| 2023-05-03 | x86_64: implement fabs | Jacob Young | |
| 2023-05-03 | x86_64: fix todo message typo | Jacob Young | |
| 2023-05-03 | x86_64: implement fieldParentPtr | Jacob Young | |
| 2023-05-03 | x86_64: implement slice elem ptr for more MCValue tags | Jacob Young | |
| 2023-05-02 | Implement multi-argument @min/@max and notice bounds | mlugg | |
| Resolves: #14039 | |||
| 2023-05-01 | x86_64: cleanup lazy symbols | Jacob Young | |
| In theory fixes updating lazy symbols during incremental compilation. | |||
| 2023-05-01 | x86_64: fix switch multi-prongs and mul/div flags clobber | Jacob Young | |
| 2023-05-01 | link: fix accessing source atom's symbol index in codegen | Jakub Konka | |
| Since the owner can either be a `Decl` or a `LazySymbol` we need to preserve this information at the codegen generate function level so that we can then correctly work out the corresponding `Atom` in the linker. | |||
| 2023-05-01 | Revert "x86_64: workaround tagName linker issues" | Jakub Konka | |
| This reverts commit aac97b92532e7492b9145e1562e31c2e1fa66c15. | |||
| 2023-05-01 | x86_64: workaround tagName linker issues | Jacob Young | |
| Pass extra pointer param with a linker ref when calling the lazy tagName function to workaround not being able to lower linker refs during codegen of a lazy func. | |||
| 2023-05-01 | x86_64: implement tagName | Jacob Young | |
| 2023-05-01 | x86_64: factor out lazy_sym | Jacob Young | |
| 2023-05-01 | link: cleanup lazy alignment | Jacob Young | |
| This gets the alignment from the code that creates a lazy symbol instead of guessing it at every use. | |||
| 2023-05-01 | x86_64: optimize wide mul with overflow | Jacob Young | |
| 2023-05-01 | x86_64: implement more forms of wide mul with overflow | Jacob Young | |
| 2023-05-01 | x86_64: fix large not and atomicrmw | Jacob Young | |
| 2023-05-01 | x86_64: fix 128-bit cmpxchg | Jacob Young | |
| 2023-05-01 | x86_64: fix stack realignment | Jacob Young | |
| 2023-05-01 | x86_64: cleanup unneeded code | Jacob Young | |
| 2023-05-01 | x86_64: implement a bunch of floating point stuff | Jacob Young | |
| 2023-05-01 | x86_64: use std.log for debug logging | Jacob Young | |
| 2023-04-28 | update codebase to use `@memset` and `@memcpy` | Andrew Kelley | |
| 2023-04-26 | x86_64: fix tlv references | Jacob Young | |
| 2023-04-26 | x86_64: fix rem/mod behavior and hazards | Jacob Young | |
| 2023-04-26 | x86_64: fix some floating point encoding errors | Jacob Young | |
| 2023-04-26 | x86_64: add frame indices | Jacob Young | |
| This allows abstract references to the stack frame which enables: * deferred frame layout until after the function has been processed * frame compaction (sorting by alignment) * being able to overalign the stack * references that change based on an overaligned stack * moving callee saved spills to the usual part (smaller code size) * shared call frame (avoids stack adjustments before and after calls) | |||
| 2023-04-25 | stage2: introduce store_safe AIR instruction | Andrew Kelley | |
| store: The value to store may be undefined, in which case the destination memory region has undefined bytes after this instruction is evaluated. In such case ignoring this instruction is legal lowering. store_safe: Same as `store`, except if the value to store is undefined, the memory region should be filled with 0xaa bytes, and any other safety metadata such as Valgrind integrations should be notified of this memory region being undefined. | |||
| 2023-04-25 | x86_64 backend: support `@memset` with slices | Andrew Kelley | |
| 2023-04-25 | x86_64 backend: implement `@memset` for element ABI size > 1 | Andrew Kelley | |
| * make memset and memset_safe guarantee that if the length is comptime-known then it will be nonzero. | |||
| 2023-04-25 | LLVM backend: support non-byte-sized memset | Andrew Kelley | |
| Also introduce memset_safe AIR tag and support it in C backend and LLVM backend. | |||
| 2023-04-25 | x86 backend: implement new memcpy/memset semantics | Andrew Kelley | |
| 2023-04-21 | macho: skip GOT for TLVs; handle them separately when lowering | Jakub Konka | |
| 2023-04-21 | elf: do not reserve a GOT slot for every Atom | Jakub Konka | |
| 2023-04-20 | x86_64: fix merge conflict | Jacob Young | |
| 2023-04-20 | x86_64: adapt to new isUnused liveness change | Jacob Young | |
| 2023-04-20 | x86_64: use liveness block deaths | Jacob Young | |
| 2023-04-20 | x86_64: instruction tracking cleanup | Jacob Young | |
| 2023-04-20 | x86_64: add block death workaround | Jacob Young | |
| 2023-04-20 | x86_64: rewrite inst tracking | Jacob Young | |
| 2023-04-20 | Begin integrating new liveness analysis into remaining backends | mlugg | |
| 2023-04-20 | Liveness: control flow analysis | mlugg | |
| This is a partial rewrite of Liveness, so has some other notable changes: - A proper multi-pass system to prevent code duplication - Better logging - Minor bugfixes | |||
| 2023-04-18 | Merge pull request #15302 from jacobly0/x86_64-non-liveness | Andrew Kelley | |
| x86_64: liveness independent fixes | |||
| 2023-04-17 | x86_64: clean up formatting functions for Instruction and Operand | Jakub Konka | |
| 2023-04-16 | x86_64: implement packed load and store | Jacob Young | |
