@@ -2932,6 +2932,8 @@ static SDValue lowerIntrinsicWChain(SDValue Op, SelectionDAG &DAG) {
29322932 default :
29332933 return Op;
29342934
2935+ // These tcgen05 intrinsics return a v2i32, which is legal, so we have to
2936+ // lower them through LowerOperation() instead of ReplaceNodeResults().
29352937 case Intrinsic::nvvm_tcgen05_ld_16x64b_x2:
29362938 case Intrinsic::nvvm_tcgen05_ld_16x128b_x1:
29372939 case Intrinsic::nvvm_tcgen05_ld_32x32b_x2:
@@ -6487,21 +6489,18 @@ static void ReplaceINTRINSIC_W_CHAIN(SDNode *N, SelectionDAG &DAG,
64876489 return ;
64886490 }
64896491
6490- case Intrinsic::nvvm_tcgen05_ld_16x64b_x2:
64916492 case Intrinsic::nvvm_tcgen05_ld_16x64b_x4:
64926493 case Intrinsic::nvvm_tcgen05_ld_16x64b_x8:
64936494 case Intrinsic::nvvm_tcgen05_ld_16x64b_x16:
64946495 case Intrinsic::nvvm_tcgen05_ld_16x64b_x32:
64956496 case Intrinsic::nvvm_tcgen05_ld_16x64b_x64:
64966497 case Intrinsic::nvvm_tcgen05_ld_16x64b_x128:
6497- case Intrinsic::nvvm_tcgen05_ld_32x32b_x2:
64986498 case Intrinsic::nvvm_tcgen05_ld_32x32b_x4:
64996499 case Intrinsic::nvvm_tcgen05_ld_32x32b_x8:
65006500 case Intrinsic::nvvm_tcgen05_ld_32x32b_x16:
65016501 case Intrinsic::nvvm_tcgen05_ld_32x32b_x32:
65026502 case Intrinsic::nvvm_tcgen05_ld_32x32b_x64:
65036503 case Intrinsic::nvvm_tcgen05_ld_32x32b_x128:
6504- case Intrinsic::nvvm_tcgen05_ld_16x128b_x1:
65056504 case Intrinsic::nvvm_tcgen05_ld_16x128b_x2:
65066505 case Intrinsic::nvvm_tcgen05_ld_16x128b_x4:
65076506 case Intrinsic::nvvm_tcgen05_ld_16x128b_x8:
@@ -6520,7 +6519,6 @@ static void ReplaceINTRINSIC_W_CHAIN(SDNode *N, SelectionDAG &DAG,
65206519 }
65216520 return ;
65226521
6523- case Intrinsic::nvvm_tcgen05_ld_16x32bx2_x2:
65246522 case Intrinsic::nvvm_tcgen05_ld_16x32bx2_x4:
65256523 case Intrinsic::nvvm_tcgen05_ld_16x32bx2_x8:
65266524 case Intrinsic::nvvm_tcgen05_ld_16x32bx2_x16:
0 commit comments