[llvm] [DAG] Prefer sub(X, ~Y) while rewriting inc-of-add to sub-of-not (PR #226379)
Rohan Shenoy via llvm-commits
llvm-commits at lists.llvm.org
Fri Sep 25 00:01:07 PDT 2026
222rohan wrote:
MCA data on all tests that changed (_disclaimer, generated by AI_)
<details>
| Case | CPU | codesize | uops/iter | Block RThru | cycles at 100 | lat at 1 |
|------|-----|----------|-----------|-------------|------------|-------|
| X86/inc-of-add `vector_i128_*` (×4 widths) | znver5 | 5 → 4 | 5 → 4 | 0.8 | 204 → 105 | 8 |
| X86/inc-of-add `vector_i128_*` (×4 widths) | haswell | 5 → 4 | 7 → 6 | 1.8 → 1.5 | 304 → 209 | 11 |
| X86/inc-of-add `vector_i128_*` (×4 widths) | skylake | 5 → 4 | 7 → 6 | 1.2 → 1.0 | 304 → 204 | 11 → 10 |
| AArch64/inc-of-add `vector_*` (×4) | neoverse-n1 | 3 | 3 | 1.0 | 403 → 205 | 7 |
| AArch64/inc-of-add `vector_*` (×4) | neoverse-v2 | 3 | 3 | 0.5 | 403 → 205 | 7 |
| AArch64/avg mismatch2/3 (×4) | neoverse-n1 | 3 | 3 | 1.0 | 205 → 403 | 7 |
| AArch64/avg mismatch4 (×1) | neoverse-n1 | 3 | 3 | 1.0 | 403 → 205 | 7 |
| AArch64/sve-hadd `rhadd*` (×15) | neoverse-v2 | 3 | 3 | 0.5 | 403 → 205 | 7 |
| ARM/inc-of-add NEON `vector_*` | cortex-a57 | 7 | 9 | 3.0 | 612 → 314 | 18 → 17 |
</details>
cc @RKSimon @Andarwinux @phoebewang
https://github.com/llvm/llvm-project/pull/226379
More information about the llvm-commits
mailing list