[clang] [llvm] [SystemZ] Support i128 as legal type in VRs (PR #74625)

Jonas Paulsson via cfe-commits cfe-commits at lists.llvm.org
Wed Dec 13 13:46:37 PST 2023


================
@@ -1466,7 +1509,15 @@ static SDValue convertValVTToLocVT(SelectionDAG &DAG, const SDLoc &DL,
 static SDValue lowerI128ToGR128(SelectionDAG &DAG, SDValue In) {
   SDLoc DL(In);
   SDValue Lo, Hi;
-  std::tie(Lo, Hi) = DAG.SplitScalar(In, DL, MVT::i64, MVT::i64);
+  if (DAG.getTargetLoweringInfo().isTypeLegal(MVT::i128)) {
+    Lo = DAG.getNode(ISD::TRUNCATE, DL, MVT::i64, In);
----------------
JonPsson1 wrote:

All tests pass even if I remove this entire clause...?

https://github.com/llvm/llvm-project/pull/74625


More information about the cfe-commits mailing list