[PATCH] D149267: [AArch64][SVE] Add basic predicated add/sub patterns

Paul Walker via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 5 03:49:48 PDT 2023


paulwalker-arm added inline comments.


================
Comment at: llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td:402-405
 def AArch64add_m1 : PatFrags<(ops node:$pred, node:$op1, node:$op2),
                              [(int_aarch64_sve_add node:$pred, node:$op1, node:$op2),
+                              (vselect node:$pred, (add node:$op1, node:$op2), node:$op1),
                               (add node:$op1, (vselect node:$pred, node:$op2, (SVEDup0)))]>;
----------------
If you shuffle your patches can this use `VSelectCommPredOrPassthruPatFrags`?


================
Comment at: llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td:409
+                              (vselect node:$pred, (sub node:$op1, node:$op2), node:$op1),
                               (sub node:$op1, (vselect node:$pred, node:$op2, (SVEDup0)))]>;
 def AArch64mla_m1 : PatFrags<(ops node:$pred, node:$op1, node:$op2, node:$op3),
----------------
As you're previous patch canonicalises to the new pattern, can this old pattern be removed?


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

https://reviews.llvm.org/D149267



More information about the llvm-commits mailing list