[PATCH] D124224: [AArch64][SVE] Add some logical operation DestructiveBinaryComm patterns

Paul Walker via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 22 04:09:35 PDT 2022


paulwalker-arm added inline comments.


================
Comment at: llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td:342
   defm SUBR_ZPmZ : sve_int_bin_pred_arit_0<0b011, "subr", "SUBR_ZPZZ", int_aarch64_sve_subr, DestructiveBinaryCommWithRev, "SUB_ZPmZ", /*isReverseInstr*/ 1>;
 } // End HasSVEorStreamingSVE
 
----------------
If you don't mind indulging my OCD I've tried to ensure the pseudo instructions are defined after the real ones so can you move the definitions for `ORR_ZPmZ`..`BIC_ZPmZ` to the bottom of this block so they're before the following `UseExperimentalZeroingPseudos` block.


================
Comment at: llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td:359
+  defm AND_ZPmZ : sve_int_bin_pred_log<0b010, "and", "AND_ZPZZ", int_aarch64_sve_and, DestructiveBinaryComm>;
+  defm BIC_ZPmZ : sve_int_bin_pred_log<0b011, "bic", "BIC_ZPZZ", int_aarch64_sve_bic, DestructiveBinaryComm>;
 
----------------
`BIC` (i.e. `A & ~B`) is not a commutative operation and so should use `DestructiveBinary`.


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

https://reviews.llvm.org/D124224



More information about the llvm-commits mailing list