aboutsummaryrefslogtreecommitdiff
path: root/lib/std/Build/Step/CheckObject.zig
diff options
context:
space:
mode:
authorJacob Young <jacobly0@users.noreply.github.com>2025-01-18 19:33:16 -0500
committerAndrew Kelley <andrew@ziglang.org>2025-01-19 22:10:39 -0500
commit5cfcb015033864c769235726975ab9919c217ef9 (patch)
tree10f027ac4086056f6f422cdd4f7e52e0d2d64af3 /lib/std/Build/Step/CheckObject.zig
parentb074fb7ddaefaa6ed9c5235d22b2f7378e3b80e8 (diff)
downloadzig-5cfcb015033864c769235726975ab9919c217ef9.tar.gz
zig-5cfcb015033864c769235726975ab9919c217ef9.zip
llvm: convert `@divFloor` and `@mod` to forms llvm will recognize
On x86_64, the `@divFloor` change is a strict improvement, and the `@mod` change adds one zero latency instruction. In return, once we upgrade to LLVM 20, when the optimizer discovers one of these operations has a power-of-two constant rhs, it will be able to optimize the entire operation into an `ashr` or `and`, respectively. #I CPL CPT old `@divFloor` | 8 | 15 | .143 | new `@divFloor` | 7 | 15 | .148 | old `@mod` | 9 | 17 | .134 | (rip llvm new `@mod` | 10 | 17 | .138 | scheduler)
Diffstat (limited to 'lib/std/Build/Step/CheckObject.zig')
0 files changed, 0 insertions, 0 deletions