[PATCH] D74147: [AArch64] Add BIT/BIF support.
Dave Green via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Feb 14 02:48:28 PST 2020
dmgreen accepted this revision.
dmgreen added a comment.
This revision is now accepted and ready to land.
Thanks for the scheduling changes. LGTM, with a couple of minor nitpicks.
================
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">;
----------------
This line it quite long. Maybe try and split it up a little like the BIC above?
================
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),
----------------
I believe that these patterns will already be included inside the SIMDLogicalThreeVectorTied BIT class, so aren't needed again 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