[PATCH] D139419: [AArch64] lower abs intrinsic to new ABS instruction in GIsel

Ties Stuij via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 9 09:28:17 PST 2023


stuij marked an inline comment as done.
stuij added inline comments.


================
Comment at: llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp:757-760
+        .legalIf([=](const LegalityQuery &Query) {
+          return typeInSet(0, {s32, s64})(Query) ||
+              llvm::is_contained(LegalABSVectorTypes, Query.Types[0]);
+        })
----------------
stuij wrote:
> aemerson wrote:
> > Am I reading this wrong or can't this be:
> > ```
> > .legalFor({s32, s64})
> > .legalIf(typeInSet(0, LegalABSVectorTypes)
> > ```
> Ah right :) Thanks! I didn't consider multiple predicates for the same purpose could work. Even though almost this exact scenario is used elsewhere in the code, I see now. I should put time into understanding the engine a bit better.
thanks. done!


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D139419



More information about the llvm-commits mailing list