| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2023-10-21 | x86_64: fix crashes | Jacob Young | |
| 2023-10-18 | x86_64: improve inline assembly support | Jacob Young | |
| * C++-style comments * indirect call operands * fix misleading immediate debug formatting | |||
| 2023-10-17 | Merge pull request #17556 from ziglang/elf-link-zig-proper | Jakub Konka | |
| elf: port 99% of zld ELF linker to Zig proper | |||
| 2023-10-17 | x86_64: fix C abi argument passing in memory | Jacob Young | |
| 2023-10-16 | codegen: refactor .actual_got into .extern_got | Jakub Konka | |
| 2023-10-16 | codegen+elf: lower imported data refs | Jakub Konka | |
| 2023-10-16 | x86_64: add -fPIC support targeting ELF | Jakub Konka | |
| 2023-10-16 | elf: create new synthetic section ZigGotSection | Jakub Konka | |
| 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 | 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-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 | 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: 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 | 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 | compiler: fix compilation for 32-bit targets | Andrew Kelley | |
| 2023-09-21 | compiler: move struct types into InternPool proper | Andrew Kelley | |
| Structs were previously using `SegmentedList` to be given indexes, but were not actually backed by the InternPool arrays. After this, the only remaining uses of `SegmentedList` in the compiler are `Module.Decl` and `Module.Namespace`. Once those last two are migrated to become backed by InternPool arrays as well, we can introduce state serialization via writing these arrays to disk all at once. Unfortunately there are a lot of source code locations that touch the struct type API, so this commit is still work-in-progress. Once I get it compiling and passing the test suite, I can provide some interesting data points such as how it affected the InternPool memory size and performance comparison against master branch. I also couldn't resist migrating over a bunch of alignment API over to use the log2 Alignment type rather than a mismash of u32 and u64 byte units with 0 meaning something implicitly different and special at every location. Turns out you can do all the math you need directly on the log2 representation of alignments. | |||
| 2023-09-19 | x86 backend: don't read bogus safety flag | Andrew Kelley | |
| Safety is not a global flag that should be enabled or disabled for all stores - it's lowered by the frontend directly into AIR instruction semantics. The flag for this is communicated via the `store` vs `store_safe` AIR instructions, and whether to write 0xaa bytes or not should be decided in `airStore` and passed down via function parameters. This commit is a step backwards since it removes functionality but it aims our feet towards a better mountain to climb. | |||
| 2023-09-13 | elf: do not store Symbol's index in Symbol | Jakub Konka | |
| 2023-09-12 | elf: add simplistic reloc scanning mechanism | Jakub Konka | |
| 2023-09-11 | elf: emit relocation to an extern function | Jakub Konka | |
| 2023-09-08 | elf: store GOT index in symbol extra array; use GotSection for GOT | Jakub Konka | |
| 2023-09-06 | elf: make everything upside down - track by Symbol.Index rather than Atom.Index | Jakub Konka | |
| 2023-09-04 | elf: simplify accessors to symbols, atoms, etc | Jakub Konka | |
