[PATCH] D129623: [AArch64][SVE] Fold fadda(ptrue, x, select(mask, y, -0.0)) into fadda(mask, x, y)

Paul Walker via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 15 09:20:18 PDT 2022


paulwalker-arm added inline comments.


================
Comment at: llvm/lib/Target/AArch64/SVEInstrFormats.td:5129-5134
+  def : SVE_3_Op_Pat_Pred_FPSelMinusZero<nxv2f32, op, nxv2i1, nxv2f32, nxv2f32, f32,
+                                                            !cast<Instruction>(NAME # _S)>;
+  def : SVE_3_Op_Pat_Pred_FPSelMinusZero<nxv4f32, op, nxv4i1, nxv4f32, nxv4f32, f32,
+                                                            !cast<Instruction>(NAME # _S)>;
+  def : SVE_3_Op_Pat_Pred_FPSelMinusZero<nxv2f64, op, nxv2i1, nxv2f64, nxv2f64, f64,
+                                                            !cast<Instruction>(NAME # _D)>;
----------------
RosieSumpter wrote:
> paulwalker-arm wrote:
> > It is possible to change `AArch64fadda_p` into a PatFrags to remove the need for these? See `AArch64bic_node` and `AArch64bic`.
> Hey Paul, I've had a go at using PatFrags instead - is this what you had in mind?
Not quite, which make me think I've asked for something that's not possible.  I'll investigate further.


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

https://reviews.llvm.org/D129623



More information about the llvm-commits mailing list