[PATCH] D77804: [DAG] Enable ISD::SRL SimplifyMultipleUseDemandedBits handling inside SimplifyDemandedBits (WIP)
Simon Pilgrim via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sat May 14 02:22:07 PDT 2022
RKSimon added inline comments.
================
Comment at: llvm/test/CodeGen/AMDGPU/trunc-combine.ll:148
; SI-NEXT: v_or_b32_e32 v0, v0, v1
-; SI-NEXT: v_lshrrev_b32_e32 v1, 16, v0
+; SI-NEXT: v_and_b32_e32 v1, s4, v2
; SI-NEXT: s_setpc_b64 s[30:31]
----------------
arsenm wrote:
> RKSimon wrote:
> > @arsenm @foad Not sure if pulling out the immediate is a good idea or not - shouldn't a u16 immediate be cheap?
> This is worse. Integer constants -16 to 64 and a handful of FP values are free, but 0xffff is not so it requires materialization.
@arsenm @foad At EuroLLVM Matt suggested that maybe we should increase the tolerance to 2 uses of the large immediates before pulling out the constant?
================
Comment at: llvm/test/CodeGen/ARM/uxtb.ll:112
+; CHECK-NEXT: orr r0, r0, r1
; CHECK-NEXT: bx lr
%tmp1 = lshr i32 %p0, 7
----------------
I'm going to take a look at this, but I'm really not familiar with the UXTB matching code, so any pointers would be appreciated.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D77804/new/
https://reviews.llvm.org/D77804
More information about the llvm-commits
mailing list