aboutsummaryrefslogtreecommitdiff
path: root/src/arch/x86_64/CodeGen.zig
AgeCommit message (Collapse)Author
2023-03-25x86_64: implement teb inline assembly for windowsJacob Young
2023-03-25x86_64: implement atomic loopsJacob Young
2023-03-25x86_64: fix cmpxchgJacob Young
2023-03-25x86_64: implement 128-bit intcastJacob Young
2023-03-25x86_64: implement 128-bit shiftsJacob Young
2023-03-25x86_64: implement large ptr_elem_valJacob Young
2023-03-25x86_64: implement struct_field_val for packed containersJacob Young
2023-03-25x86_64: implement struct_field_ptr for packed containersJacob Young
2023-03-25x86_64: implement saturating arithmeticJacob Young
2023-03-24x86_64: add back assume unusedJacob Young
This seems to have been asserting due to a value tracking bug that has since been fixed.
2023-03-24x86_64: detect canonicalisation hazardsJacob Young
2023-03-24x86_64: try to fix br canonicalizationJacob Young
2023-03-24x86_64: canonicalize each br of a blockJacob Young
2023-03-24x86_64: fix block result value trackingJacob Young
2023-03-24x86_64: fix more value tracking bugsJacob Young
2023-03-24x86_64: fix value tracking bugsJacob Young
2023-03-21x86_64: implement @byteSwap and @bitReverseJacob Young
2023-03-21x86_64: implement atomic and fence opsJacob Young
2023-03-21x86_64: implement some slice opsJacob Young
2023-03-21x86_64: implement @popCount for older processorsJacob Young
This fixes the behavior tests when compiled for baseline.
2023-03-21x86_64: (re)implement optional opsJacob Young
Note that this commit also changes the layout of optional for all other backends using `src/codegen.zig` without updating them!
2023-03-21x86_64: implement some error union opsJacob Young
2023-03-21x86_64: improve codegen for neg and notJacob Young
2023-03-21x86_64: implement @returnAddress and @frameAddressJacob Young
2023-03-21x86_64: implement clz, ctz, and popCountJacob Young
2023-03-21x86_64: reimplement inline memcpy and memsetJacob Young
2023-03-21x86_64: implement float division intrinsicsJacob Young
2023-03-21x86_64: fix OBOJacob Young
These loops were skipping over the top stack entry, and there's already a function that does this correctly.
2023-03-21x86_64: implement basic float opsJacob Young
2023-03-21x86_64: implement min and max as commutative binary opsJacob Young
2023-03-15x86_64: turn packed struct crashes into compile errorsJacob Young
2023-03-15x86_64: implement more binary immediate combinationsJacob Young
2023-03-15x86_64: handle duplicate prong deathsJacob Young
2023-03-15x86_64: use short union initJacob Young
2023-03-15x86_64: use new for loop syntaxJacob Young
2023-03-15x86_64: fix lowering of non-pointer optional is nullJacob Young
2023-03-15x86_64: fix store of undefinedJacob Young
2023-03-15x86_64: fix error code paths to not have extra popsJacob Young
2023-03-11x86_64: rename asmNone to asmOpOnlyJakub Konka
2023-03-11x86_64: simplify immediate handling at MIR levelJakub Konka
2023-03-11x86_64: add wrapper for .jcc with relocationJakub Konka
2023-03-11x86_64: add .dead pseudo-instruction to mark an unused MIR instructionJakub Konka
2023-03-11x86_64: add wrapper for .jmp_relocJakub Konka
2023-03-11x86_64: apply couple of tweaks and pass behavior testsJakub Konka
2023-03-11x86_64: add missing decodings for .movsxJakub Konka
2023-03-11x86_64: fix CALL emits for ELF and Plan9Jakub Konka
2023-03-11x86_64: finish rolling out all MIR assembly helpersJakub Konka
2023-03-11x86_64: start converting MI referencesJakub Konka
2023-03-11x86_64: plug up all RM/MR referencesJakub Konka
2023-03-11x86_64: add RM and MR helpers to codegenJakub Konka