[PATCH] D122915: [AArch64] UBFM fold in the MIPeepholeOpt.
chenglin.bi via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Apr 1 21:05:33 PDT 2022
bcl5980 added a comment.
In D122915#3424047 <https://reviews.llvm.org/D122915#3424047>, @benshi001 wrote:
> I would prefer AArch64 specific DAGCombine.
In D122915#3423539 <https://reviews.llvm.org/D122915#3423539>, @efriedma wrote:
> 2. Form the BFM op as a DAGCombine, instead of waiting for isel.
For now test case's selection DAG before instruction select is:
t0: ch = EntryToken
t2: i32,ch = CopyFromReg t0, Register:i32 %0
t7: i32 = srl t2, Constant:i64<16>
t9: i32 = and t7, Constant:i32<240>
t4: i32 = and t2, Constant:i32<-241>
t10: i32 = or t9, t4
t12: ch,glue = CopyToReg t0, Register:i32 $w0, t10
t13: ch = AArch64ISD::RET_FLAG t12, Register:i32 $w0, t12:1
Do you mean we add a new AArch64ISD like AArch64ISD::BFM, then form AArch64ISD::BFM in performOrCombine ?
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D122915/new/
https://reviews.llvm.org/D122915
More information about the llvm-commits
mailing list