[PATCH] D148234: [AArch64] Remove AND and FMOV between uaddlv an urshl

JinGu Kang via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 14 00:50:53 PDT 2023


jaykang10 added a comment.

Additionally, for MI Peephole opt, the MIR code sequence between `uaddlv` and ` is a bit long as below and there could be different sequence. I think your patch in SelectionDAG would good.

  %1:fpr16 = UADDLVv8i8v %0:fpr64
  %3:fpr128 = IMPLICIT_DEF
  %2:fpr128 = INSERT_SUBREG %3:fpr128(tied-def 0), killed %1:fpr16, %subreg.hsub
  %4:gpr32 = COPY %2.ssub:fpr128
  %5:gpr32common = ANDWri killed %4:gpr32, 15
  %7:gpr64all = SUBREG_TO_REG 0, %5:gpr32common, %subreg.sub_32
  %9:fpr64 = COPY %7:gpr64all
  %8:fpr64 = URSHRd killed %9:fpr64, 3


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D148234/new/

https://reviews.llvm.org/D148234



More information about the llvm-commits mailing list