[PATCH] D108793: Teach the AArch64 backend patterns to generate the EOR3 instruction.

Owen Anderson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 27 10:52:40 PDT 2021


resistor marked 3 inline comments as done.
resistor added inline comments.


================
Comment at: llvm/lib/Target/AArch64/AArch64InstrInfo.td:976
+        (EOR3 (VecTy V128:$Vn), (VecTy V128:$Vm), (VecTy V128:$Va))>;
+  def : Pat<(xor (VecTy V128:$Vn) (xor (VecTy V128:$Vm), (VecTy V128:$Va)),
+        (EOR3 (VecTy V128:$Vn), (VecTy V128:$Vm), (VecTy V128:$Va))>;
----------------
dmgreen wrote:
> dmgreen wrote:
> > There's a comma missing here. The brackets also look off.
> Oh xor is also commutative. You likely don't need both the patterns, it will be handled automatically by tablegen.
> 
> Having tests that check that sound good to have though.
I do have tests for the different ways to commute it already. Good call that tblgen should handle the commutation automatically.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D108793



More information about the llvm-commits mailing list