[PATCH] D141464: [X86]: Match (xor TSize - 1, ctlz) to `bsr` instead of `lzcnt` + `xor`
Craig Topper via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 11 01:02:51 PST 2023
craig.topper added a comment.
The bsr implementation in hardware also reads the destination register to return it if the other input is zero. This can create unintentional dependencies on older instructions.
bsr is also a multiple uop instruction on some AMD CPUs such as Zen1, 2, and 3. According to uops.info its improved on Zen4.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D141464/new/
https://reviews.llvm.org/D141464
More information about the llvm-commits
mailing list