[all-commits] [llvm/llvm-project] 4a3776: [AArch64][NFC] Precommit test case to show sub-opt...
Mingming Liu via All-commits
all-commits at lists.llvm.org
Sun Oct 9 17:38:07 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 4a377653c2a29ea930936adfae194996dbf22113
https://github.com/llvm/llvm-project/commit/4a377653c2a29ea930936adfae194996dbf22113
Author: Mingming Liu <mingmingl at google.com>
Date: 2022-10-09 (Sun, 09 Oct 2022)
Changed paths:
M llvm/test/CodeGen/AArch64/logical_shifted_reg.ll
Log Message:
-----------
[AArch64][NFC] Precommit test case to show sub-optimal codegen for add(lsl(val1,small-shift), lsl(val2,large-shift)).
Ideally, add operand with smaller shift should be RHS. In that way, smaller-shift is folded into ADD.
- Also add another test case when 'lsl(val1,small-shift)' has one than one use, to show the (planned) optimization won't regress this case.
Commit: 159fb378f779ac79f7d456ea233892ad526b56d8
https://github.com/llvm/llvm-project/commit/159fb378f779ac79f7d456ea233892ad526b56d8
Author: Mingming Liu <mingmingl at google.com>
Date: 2022-10-09 (Sun, 09 Oct 2022)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/logical_shifted_reg.ll
Log Message:
-----------
[AArch64] Swap 'lsl(val1,small-shmt)' to right hand side for AND(lsl(val1,small-shmt), lsl(val2,large-shmt))
On many aarch64 processors (Cortex A78, Neoverse N1/N2/V1, etc), ADD with LSL shift (shift-amount <= 4) has smaller latency and higher
throughput than ADD with larger shift (shift-amunt > 4). This is at least no-op for the rest of the processors.
Differential Revision: https://reviews.llvm.org/D135208
Compare: https://github.com/llvm/llvm-project/compare/fee8f561bdc9...159fb378f779
More information about the All-commits
mailing list