aboutsummaryrefslogtreecommitdiff
path: root/src/arch/x86_64/encodings.zig
AgeCommit message (Collapse)Author
2025-02-25x86_64: use ZON for encodingsmlugg
2025-02-17x86_64: implement prefetchJacob Young
2025-02-17x86_64: rewrite unsafe int vector multiplicationJacob Young
2025-02-15x86_64: rewrite unsafe scalar int multiplicationJacob Young
2025-02-09x86_64: implement conversions between scalar floats and intsJacob Young
Closes #22797
2025-02-06x86_64: rewrite most of the remaining float opsJacob Young
2025-01-24x86_64: rewrite scalar float equality comparisonsJacob Young
2025-01-18x86_64: add a bunch of instruction encodingsJacob Young
Closes #19773
2025-01-16x86_64: fix hazards exposed by new calling conventionJacob Young
2025-01-16x86_64: implement clz and notJacob Young
2025-01-16x86_64: 2 means betterJacob Young
2025-01-16x86_64: testingJacob Young
2024-02-25x86_64: implement more shufflesJacob Young
2024-02-25x86_64: fix avx2 `@truncacte`Jacob Young
2024-02-25Sema: implement vector coercionsJacob Young
These used to be lowered elementwise in air, and now are a single air instruction that can be lowered elementwise in the backend if necessary.
2024-02-25x86_64: implement `@shuffle`Jacob Young
2024-02-25x86_64: implement `@select`Jacob Young
2024-02-12x86_64: implement mul, div, and mod of large integersJacob Young
This enables the last compiler-rt test disabled for the x86_64 backend.
2024-02-06add the `clflush` mnemDavid Rubin
2023-11-03x86_64: fix std test failuresJacob Young
2023-10-25x86_64: pass more testsJacob Young
* 128-bit integer multiplication with overflow * more instruction encodings used by std inline asm * implement the `try_ptr` air instruction * follow correct stack frame abi * enable full panic handler * enable stack traces
2023-10-23x86_64: implement 128-bit builtinsJacob Young
* `@clz` * `@ctz` * `@popCount` * `@byteSwap` * `@bitReverse` * various encodings used by std
2023-10-23x86_64: implement enough to pass unicode testsJacob Young
* implement vector comparison * implement reduce for bool vectors * fix `@memcpy` bug * enable passing std tests
2023-10-22Revert "Revert "Merge pull request #17637 from jacobly0/x86_64-test-std""Jacob Young
This reverts commit 6f0198cadbe29294f2bf3153a27beebd64377566.
2023-10-22Revert "Merge pull request #17637 from jacobly0/x86_64-test-std"Andrew Kelley
This reverts commit 0c99ba1eab63865592bb084feb271cd4e4b0357e, reversing changes made to 5f92b070bf284f1493b1b5d433dd3adde2f46727. This caused a CI failure when it landed in master branch due to a 128-bit `@byteSwap` in std.mem.
2023-10-21x86_64: fix bugs and disable erroring testsJacob Young
2023-10-08x86_64: implement `@abs` for some integer vector typesJacob Young
2023-10-07x86_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-07x86_64: implement `f80` movementJacob Young
2023-06-25x86_64: fix incorrect encoding table entriesJacob Young
This was found by downstream tests.
2023-05-18x86_64: implement integer vector `@truncate`Jacob Young
2023-05-18x86_64: fix float min/max behaviorJacob Young
2023-05-15x86_64: implement integer vector min/maxJacob Young
2023-05-15x86_64: implement integer vector mulJacob Young
2023-05-15x86_64: implement integer vector add/subJacob Young
2023-05-15x86_64: redo movement, float negation, and `@fabs`Jacob Young
2023-05-15x86_64: reimplement `@floatToInt`Jacob Young
2023-05-15x86_64: add missing encoding feature requirementsJacob Young
2023-05-15x86_64: implement `@splat`Jacob Young
2023-05-08x86_64: implement binary operations for `f16` and `f16` vectorsJacob Young
2023-05-08x86_64: implement binary operations for float vectorsJacob Young
2023-05-08x86_64: implement `@sqrt` for `f16` scalars and vectorsJacob Young
2023-05-08x86_64: implement `@sqrt` for vectorsJacob Young
2023-05-08x86_64: implement float cast from `f16` to `f64`Jacob Young
2023-05-08x86_64: add missing `movsx` and `movzx` encodingsJacob Young
2023-05-08x86_64: implement some float and float vector movementJacob Young
This allows actually storing value of these supported types in registers, and not restricting them to stack slots.
2023-05-08x86_64: implement `@mulAdd`Jacob Young
2023-05-08x86_64: implement f16 cmpJacob Young
2023-05-08x86_64: implement f16 conversions when supportedJacob Young
2023-05-03x86_64: implement movement of more typesJacob Young
* f16 * f128 * vector