[PATCH] D74147: [AArch64] Add BIT/BIF support.

Pavel Iliin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 14 05:01:51 PST 2020


ilinpv marked 2 inline comments as done.
ilinpv added inline comments.


================
Comment at: llvm/lib/Target/AArch64/AArch64InstrInfo.td:3965
+// It is expanded into BSL/BIT/BIF after register allocation.
+defm BSP : SIMDLogicalThreeVectorPseudo<TriOpFrag<(or (and node:$LHS, node:$MHS), (and (vnot node:$LHS), node:$RHS))>>;
+defm BSL : SIMDLogicalThreeVectorTied<1, 0b01, "bsl">;
----------------
dmgreen wrote:
> This line it quite long. Maybe try and split it up a little like the BIC above?
Sure


================
Comment at: llvm/lib/Target/AArch64/AArch64InstrInfo.td:3988-4004
+def : Pat<(AArch64bit (v8i8 V64:$Rd), V64:$Rn, V64:$Rm),
+          (BITv8i8 V64:$Rd, V64:$Rn, V64:$Rm)>;
+def : Pat<(AArch64bit (v4i16 V64:$Rd), V64:$Rn, V64:$Rm),
+          (BITv8i8 V64:$Rd, V64:$Rn, V64:$Rm)>;
+def : Pat<(AArch64bit (v2i32 V64:$Rd), V64:$Rn, V64:$Rm),
+          (BITv8i8 V64:$Rd, V64:$Rn, V64:$Rm)>;
+def : Pat<(AArch64bit (v1i64 V64:$Rd), V64:$Rn, V64:$Rm),
----------------
dmgreen wrote:
> I believe that these patterns will already be included inside the SIMDLogicalThreeVectorTied BIT class, so aren't needed again here?
Yes, accidentally remained here.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D74147





More information about the llvm-commits mailing list