[PATCH] D46009: [AArch64] Custom Lower MULLH{S, U} for v16i8, v8i16, and v4i32
Sjoerd Meijer via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Apr 27 01:47:30 PDT 2018
SjoerdMeijer added inline comments.
================
Comment at: lib/Target/AArch64/AArch64ISelLowering.cpp:2557
+static SDValue LowerMULH(SDValue Op, SelectionDAG &DAG, bool sign) {
+ EVT VT = Op.getValueType();
----------------
Do you need to pass the 'sign' boolean? Can you not look at the opcode and check for ISD::MULHS or ISD::MULHU?
================
Comment at: lib/Target/AArch64/AArch64ISelLowering.cpp:2727
return LowerMUL(Op, DAG);
+ case ISD::MULHS:
+ return LowerMULH(Op, DAG, true);
----------------
If you check the opcode inside LowerMULH, this can be simplified a bit, both these cases can fallthrough and call LowerMULH.
================
Comment at: test/CodeGen/AArch64/arm64-neon-mul-div-cte.ll:3
+
+define <16 x i8> @mul8xi16(<16 x i8> %x) {
+; CHECK-LABEL: mul8xi16:
----------------
nit: this is mul16xi8
================
Comment at: test/CodeGen/AArch64/arm64-neon-mul-div-cte.ll:14
+
+define <8 x i16> @mul16xi8(<8 x i16> %x) {
+; CHECK-LABEL: mul16xi8:
----------------
nit: this is mul8xi16
Repository:
rL LLVM
https://reviews.llvm.org/D46009
More information about the llvm-commits
mailing list