[llvm] [LoopIdiom] Use costing to determine CRC strategy (PR #211040)

Sean Clarke via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 22 08:50:29 PDT 2026


xarkenz wrote:

These are the benchmarks I'm looking at, based on my testing on various CPUs with carryless-multiplication instructions:

Apple M4 Pro, arm64:
<img width="907" height="1076" alt="costing-apple-m4" src="https://github.com/user-attachments/assets/28b0d40b-b577-40e8-83ec-805a57bf64ec" />
ARM Neoverse-N1, aarch64:
<img width="907" height="1076" alt="costing-neoverse-n1" src="https://github.com/user-attachments/assets/24009816-a2ec-4b9f-90e1-105c381ca08e" />
SpacemiT K1, riscv64:
<img width="907" height="1076" alt="costing-spacemit-x60" src="https://github.com/user-attachments/assets/43f20238-8515-4c34-a9e7-67ad06bfaf51" />
AMD EPYC 9654, x86_64 (without #211113, regression!):
<img width="907" height="1076" alt="costing-epyc-9654" src="https://github.com/user-attachments/assets/fd5e9fed-c45c-4e96-b851-df650242f7ae" />
AMD EPYC 9654, x86_64 (using current version of #211113):
<img width="907" height="1076" alt="costing-epyc-9654-updated" src="https://github.com/user-attachments/assets/7c728d81-bb2c-43e5-acd4-85526110f0b2" />

https://github.com/llvm/llvm-project/pull/211040


More information about the llvm-commits mailing list