[PATCH] D138812: [AArch64] lower abs intrinsic to new ABS instruction in SelDag

Ties Stuij via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 5 05:03:56 PST 2022


stuij marked 4 inline comments as done.
stuij added inline comments.


================
Comment at: llvm/lib/Target/AArch64/AArch64InstrFormats.td:7269
+                          SDPatternOperator OpNode = null_frag,
+                          Predicate pred = IsTrue> {
   def v1i64       : BaseSIMDTwoScalar<U, 0b11, 0b00, opc, FPR64, FPR64, asm,
----------------
lenary wrote:
> This would be equivalent and neater, and allow multiple predicates.
That syntax isn't quite right, as Predicates isn't a list, but I appreciate the idea. Changed the code in the spririt of your idea.


================
Comment at: llvm/lib/Target/AArch64/AArch64InstrFormats.td:7274
+  let Predicates = [pred] in {
   def : Pat<(i64 (OpNode (i64 FPR64:$Rn))),
             (!cast<Instruction>(NAME # "v1i64") FPR64:$Rn)>;
----------------
dmgreen wrote:
> I'm not sure this pattern will be used for anything. It can probably just be removed without modifying any tests.
Thanks! I prefer to create another patch for that as I feel it just falls outside of the scope of this patch.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D138812



More information about the llvm-commits mailing list