[PATCH] D88033: [SVE][CodeGen] Legalisation of integer -> floating point conversions

Paul Walker via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 22 03:16:25 PDT 2020


paulwalker-arm added inline comments.


================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:9087-9089
+  if (!VT.getVectorElementType().isFloatingPoint() ||
+      VT.getVectorElementCount() != (OpVT.getVectorElementCount()*2))
+    return SDValue();
----------------
I imagine that CONCAT_VECTORS operand counts have been normalise to two by this point but given its restriction that all operands must be the same type I think you can protect against this and your `VT == OpVT*2` requirement using `if (getNumOperands() != 2)`.

Can the isFloatingPoint check be made part of the assert?


================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:9092-9093
+  SDLoc DL(Op);
+  SDValue OpLHS = Op.getOperand(0);
+  SDValue OpRHS = Op.getOperand(1);
+
----------------
Not sure CONCAT_VECTORS have a left and right hand side.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D88033



More information about the llvm-commits mailing list