[PATCH] D138811: [AArch64] SelectionDag codegen for gpr CTZ instruction

Ties Stuij via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 28 07:18:27 PST 2022


stuij added a comment.

There's a question here if we should move this into dagcombiner and implement likewise for GlobalIsel, or if we should leave this here and have them be picked up by SelDag and GlobalIsel:

def : Pat<(i32 (ctlz (bitreverse GPR32:$Rn))),

            (CTZWr GPR32:$Rn)>;
  def : Pat<(i64 (ctlz (bitreverse GPR64:$Rn))),
            (CTZXr GPR64:$Rn)>;



================
Comment at: llvm/lib/Target/AArch64/AArch64InstrInfo.td:8499
+
+let Predicates = [HasCSSC] in {
+  def : Pat<(i32 (ctlz (bitreverse GPR32:$Rn))),
----------------
There's a question here if we should move these into dagcombiner and implement likewise for GlobalIsel, or if we should leave this here and have them be picked up by SelDag and GlobalIsel:


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D138811



More information about the llvm-commits mailing list