[llvm] [TargetLowering][AMDGPU][ARM][RISCV][X86] Teach SimplifyDemandedBits to combine (srl (sra X, C1), ShAmt) -> sra(X, C1+ShAmt) (PR #101751)
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 14 08:44:53 PDT 2024
topperc wrote:
> Can you have a look at the following regression (extracted from velox):
>
> ```
> ; bin/llc -mtriple=riscv64 -mattr=+zba test.ll -o -
>
> define ptr @func0000000000000004(ptr %0, i64 %1) nounwind {
> entry:
> %2 = ashr i64 %1, 32
> %3 = lshr i64 %2, 6
> %4 = getelementptr i64, ptr %0, i64 %3
> ret ptr %4
> }
> ```
>
> Before:
>
> ```
> func0000000000000004:
> srai a1, a1, 32
> srli a1, a1, 6
> sh3add a0, a1, a0
> ret
> ```
>
> After applying this patch:
>
> ```
> func0000000000000004:
> srai a1, a1, 35
> li a2, -57
> srli a2, a2, 3
> and a1, a1, a2
> add a0, a0, a1
> ret
> ```
Will do
https://github.com/llvm/llvm-project/pull/101751
More information about the llvm-commits
mailing list