[PATCH] D150333: [DAGCombiner][AArch64][VE] Teach BuildUDIV/SDIV to use 2x mul when mulh/mul_lohi are not available.

Simon Pilgrim via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri May 12 07:19:09 PDT 2023


RKSimon added a comment.

SGTM - probably need to wait for VE review though



================
Comment at: llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp:5996
+      unsigned Size = VT.getSizeInBits();
+      EVT WideVT = EVT::getIntegerVT(*DAG.getContext(), Size * 2);
+      if (isOperationLegal(ISD::MUL, WideVT)) {
----------------
We now have a few cases where we're doing this - we already have widenIntegerVectorElementType but for some reason don't have an equivalent widenIntegerScalarType


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D150333



More information about the llvm-commits mailing list