| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2023-06-10 | stage2: start the InternPool transition | Andrew Kelley | |
| Instead of doing everything at once which is a hopelessly large task, this introduces a piecemeal transition that can be done in small increments at a time. This is a minimal changeset that keeps the compiler compiling. It only uses the InternPool for a small set of types. Behavior tests are not passing. Air.Inst.Ref and Zir.Inst.Ref are separated into different enums but compile-time verified to have the same fields in the same order. The large set of changes is mainly to deal with the fact that most Type and Value methods now require a Module to be passed in, so that the InternPool object can be accessed. | |||
| 2023-06-03 | Merge pull request #15579 from squeek502/mem-delimiters | Andrew Kelley | |
| Split `std.mem.split` and `tokenize` into `sequence`, `any`, and `scalar` versions | |||
| 2023-05-29 | x86_64: hotfix for crash during in-memory coercion of large type | Jacob Young | |
| Unblocks #15768 Closes #15904 | |||
| 2023-05-26 | std.Target adjustments | Veikka Tuominen | |
| * move `ptrBitWidth` from Arch to Target since it needs to know about the abi * double isn't always 8 bits * AVR uses 1-byte alignment for everything in GCC | |||
| 2023-05-23 | std.sort: add pdqsort and heapsort | Ali Chraghi | |
| 2023-05-18 | x86_64: fix `@bitCast` when the operand dies | Jacob Young | |
| 2023-05-18 | x86_64: implement saturating add/sub for weird types | Jacob Young | |
| 2023-05-18 | x86_64: implement integer vector `@truncate` | Jacob Young | |
| 2023-05-18 | x86_64: fix 128-bit atomics on non-linux | Jacob Young | |
| 2023-05-18 | x86_64: delete some incorrect code | Jacob Young | |
| 2023-05-18 | x86_64: fix multi-limb compare | Jacob Young | |
| 2023-05-18 | x86_64: initialize array sentinels | Jacob Young | |
| 2023-05-18 | x86_64: rewrite casts | Jacob Young | |
| 2023-05-18 | x86_64: fix float min/max behavior | Jacob Young | |
| 2023-05-15 | x86_64: implement integer vector min/max | Jacob Young | |
| 2023-05-15 | x86_64: implement integer vector bitwise operations | Jacob Young | |
| 2023-05-15 | x86_64: implement integer vector mul | Jacob Young | |
| 2023-05-15 | x86_64: implement integer vector add/sub | Jacob Young | |
| 2023-05-15 | x86_64: fix `@clz` and `@ctz` of `u8` | Jacob Young | |
| 2023-05-15 | x86_64: fix struct_field_val crash | Jacob Young | |
| 2023-05-15 | x86_64: enable integer vector registers | Jacob Young | |
| 2023-05-15 | x86_64: redo movement, float negation, and `@fabs` | Jacob Young | |
| 2023-05-15 | x86_64: reimplement `@floatToInt` | Jacob Young | |
| 2023-05-15 | x86_64: implement calling function references | Jacob Young | |
| 2023-05-15 | x86_64: implement global payload pointers | Jacob Young | |
| 2023-05-15 | x86_64: implement integer vector movement | Jacob Young | |
| 2023-05-15 | x86_64: implement stack probing | Jacob Young | |
| 2023-05-15 | x86_64: remove scratch data tags | Jacob Young | |
| 2023-05-15 | x86_64: implement `@splat` | Jacob Young | |
| 2023-05-15 | x86_64: fix field_ptr nonsense | Jacob Young | |
| 2023-05-15 | x86_64: implement union_init | Jacob Young | |
| 2023-05-15 | x86_64: fix issues with getting float fields | Jacob Young | |
| 2023-05-15 | x86_64: fix crash with logging enabled | Jacob Young | |
| 2023-05-15 | x86_64: add missing multply of `f16` | Jacob Young | |
| 2023-05-13 | Update all std.mem.tokenize calls to their appropriate function | Ryan Liptak | |
| Everywhere that can now use `tokenizeScalar` should get a nice little performance boost. | |||
| 2023-05-08 | x86_64: finish optimizing mir tag usage | Jacob Young | |
| Final tag count is 95. | |||
| 2023-05-08 | x86_64: continue to optimize mir tag usage | Jacob Young | |
| Migrate mnemonic literals to tuples that represent the compressed storage. 225 tags left in use, many tags left to compress. | |||
| 2023-05-08 | x86_64: optimize mir tag usage | Jacob Young | |
| This moves all pseudo-instructions to a single `Mir.Inst.Tag` tag and prepares to start coalescing similar mnemonics. 239 tags left in use. | |||
| 2023-05-08 | x86_64: implement binary operations for `f16` and `f16` vectors | Jacob Young | |
| 2023-05-08 | x86_64: implement `@floor`, `@ceil`, and `@trunc` for float vectors | Jacob Young | |
| 2023-05-08 | x86_64: implement binary operations for float vectors | Jacob Young | |
| 2023-05-08 | x86_64: implement `@sqrt` for `f16` scalars and vectors | Jacob Young | |
| 2023-05-08 | x86_64: implement `@sqrt` for vectors | Jacob Young | |
| 2023-05-08 | x86_64: implement float cast from `f16` to `f64` | Jacob Young | |
| 2023-05-08 | x86_64: implement some float and float vector movement | Jacob Young | |
| This allows actually storing value of these supported types in registers, and not restricting them to stack slots. | |||
| 2023-05-08 | x86_64: implement `@mulAdd` | Jacob Young | |
| 2023-05-08 | x86_64: implement packed floating point fields | Jacob Young | |
| 2023-05-08 | x86_64: fix unordered float equality | Jacob Young | |
| 2023-05-08 | x86_64: implement f16 cmp | Jacob Young | |
| 2023-05-08 | x86_64: implement f16 conversions when supported | Jacob Young | |
