[PATCH] D138888: [AArch64][SVE] Replace destructive operand of vector zeros with a bundled MOVPRFX instruction

Paul Walker via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 6 09:09:25 PST 2023


paulwalker-arm accepted this revision.
paulwalker-arm added a comment.
This revision is now accepted and ready to land.

A couple of stylistic requests but otherwise looks good.



================
Comment at: llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td:3584-3586
+let Predicates = [HasSVE2orSME, UseExperimentalZeroingPseudos] in {
+  defm FLOGB_ZPZZ : sve2_fp_un_pred_zeroing_hsd<int_aarch64_sve_flogb>;
+} // End HasSVE2orSME, UseExperimentalZeroingPseudos
----------------
We typically put these blocks just after the instructions they're pseudos for so can this block be placed just after `defm FLOGB_ZPmZ`?


================
Comment at: llvm/lib/Target/AArch64/SVEInstrFormats.td:515
+
+class SVE_2_Op_Pat_Zero<ValueType vtd, SDPatternOperator op, ValueType vt1,
+                   ValueType vt2, Instruction inst>
----------------
Can this be `SVE_1_Op_PassthruZero_Pat`? and moved further up so they follow the existing `SVE_1_Op_PassthruUndef_....` classes.


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

https://reviews.llvm.org/D138888



More information about the llvm-commits mailing list