@@ -615,6 +615,8 @@ declare void @use.i32(i32, i1)
615615
616616define void @umul_extractvalue (ptr %P , i32 %x ) {
617617; CHECK-LABEL: @umul_extractvalue(
618+ ; CHECK-NEXT: call void @use.i32(i32 [[X:%.*]], i1 false)
619+ ; CHECK-NEXT: call void @use.i32(i32 [[X]], i1 false)
618620; CHECK-NEXT: [[UMUL_3:%.*]] = call { i32, i1 } @llvm.umul.with.overflow.i32(i32 2, i32 [[X]])
619621; CHECK-NEXT: [[R_3:%.*]] = extractvalue { i32, i1 } [[UMUL_3]], 0
620622; CHECK-NEXT: [[OV_3:%.*]] = extractvalue { i32, i1 } [[UMUL_3]], 1
@@ -643,14 +645,8 @@ declare void @use.4xi32(<4 x i32>, <4 x i1>)
643645
644646define void @umul_extractvalue_vec (ptr %P , <4 x i32 > %x ) {
645647; CHECK-LABEL: @umul_extractvalue_vec(
646- ; CHECK-NEXT: [[UMUL_1:%.*]] = call { <4 x i32>, <4 x i1> } @llvm.umul.with.overflow.v4i32(<4 x i32> [[X:%.*]], <4 x i32> splat (i32 1))
647- ; CHECK-NEXT: [[R_1:%.*]] = extractvalue { <4 x i32>, <4 x i1> } [[UMUL_1]], 0
648- ; CHECK-NEXT: [[OV_1:%.*]] = extractvalue { <4 x i32>, <4 x i1> } [[UMUL_1]], 1
649- ; CHECK-NEXT: call void @use.4xi32(<4 x i32> [[R_1]], <4 x i1> [[OV_1]])
650- ; CHECK-NEXT: [[UMUL_2:%.*]] = call { <4 x i32>, <4 x i1> } @llvm.umul.with.overflow.v4i32(<4 x i32> splat (i32 1), <4 x i32> [[X]])
651- ; CHECK-NEXT: [[R_2:%.*]] = extractvalue { <4 x i32>, <4 x i1> } [[UMUL_2]], 0
652- ; CHECK-NEXT: [[OV_2:%.*]] = extractvalue { <4 x i32>, <4 x i1> } [[UMUL_2]], 1
653- ; CHECK-NEXT: call void @use.4xi32(<4 x i32> [[R_2]], <4 x i1> [[OV_2]])
648+ ; CHECK-NEXT: call void @use.4xi32(<4 x i32> [[X:%.*]], <4 x i1> zeroinitializer)
649+ ; CHECK-NEXT: call void @use.4xi32(<4 x i32> [[X]], <4 x i1> zeroinitializer)
654650; CHECK-NEXT: [[UMUL_3:%.*]] = call { <4 x i32>, <4 x i1> } @llvm.umul.with.overflow.v4i32(<4 x i32> splat (i32 2), <4 x i32> [[X]])
655651; CHECK-NEXT: [[R_3:%.*]] = extractvalue { <4 x i32>, <4 x i1> } [[UMUL_3]], 0
656652; CHECK-NEXT: [[OV_3:%.*]] = extractvalue { <4 x i32>, <4 x i1> } [[UMUL_3]], 1
0 commit comments