[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