[PATCH] D148229: [DAGCombine][AArch64][CodeGen] Allow 2x bigger vectors than legal for mulh lowering and use SVE's mulh for fixed vector types.

Simon Pilgrim via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 13 07:12:29 PDT 2023


RKSimon added inline comments.


================
Comment at: llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:9924
+        !TLI.isOperationLegalOrCustom(
+            MulhOpcode, NarrowVT.getHalfNumVectorElementsVT(*DAG.getContext())))
+      return SDValue();
----------------
if there any chance that odd element count vectors can get here?


================
Comment at: llvm/test/CodeGen/AArch64/sve-fixed-length-int-mulh.ll:16
 ; Don't use SVE for 64-bit vectors.
 ; FIXME: The codegen for the >=256 bits case can be improved.
 define <8 x i8> @smulh_v8i8(<8 x i8> %op1, <8 x i8> %op2) vscale_range(2,0) #0 {
----------------
remove the FIXME?


================
Comment at: llvm/test/CodeGen/AArch64/sve-fixed-length-int-mulh.ll:151
 ; Don't use SVE for 64-bit vectors.
 ; FIXME: The codegen for the >=256 bits case can be improved.
 define <4 x i16> @smulh_v4i16(<4 x i16> %op1, <4 x i16> %op2) vscale_range(2,0) #0 {
----------------
FIXME?


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

https://reviews.llvm.org/D148229



More information about the llvm-commits mailing list