diff --git a/llvm/test/CodeGen/X86/combine-addo.ll b/llvm/test/CodeGen/X86/combine-addo.ll index 715e3cde8120..9b408eb83595 100644 --- a/llvm/test/CodeGen/X86/combine-addo.ll +++ b/llvm/test/CodeGen/X86/combine-addo.ll @@ -136,8 +136,8 @@ define <4 x i32> @combine_vec_uadd_not(<4 x i32> %a0, <4 x i32> %a1) { ; SSE: # %bb.0: ; SSE-NEXT: pcmpeqd %xmm3, %xmm3 ; SSE-NEXT: pxor %xmm3, %xmm0 -; SSE-NEXT: movdqa {{.*#+}} xmm2 = [1,1,1,4294967295] -; SSE-NEXT: paddd %xmm0, %xmm2 +; SSE-NEXT: movdqa %xmm0, %xmm2 +; SSE-NEXT: psubd %xmm3, %xmm2 ; SSE-NEXT: pmaxud %xmm2, %xmm0 ; SSE-NEXT: pcmpeqd %xmm2, %xmm0 ; SSE-NEXT: pxor %xmm3, %xmm0 @@ -149,14 +149,14 @@ define <4 x i32> @combine_vec_uadd_not(<4 x i32> %a0, <4 x i32> %a1) { ; AVX: # %bb.0: ; AVX-NEXT: vpcmpeqd %xmm2, %xmm2, %xmm2 ; AVX-NEXT: vpxor %xmm2, %xmm0, %xmm0 -; AVX-NEXT: vpaddd {{.*}}(%rip), %xmm0, %xmm3 +; AVX-NEXT: vpsubd %xmm2, %xmm0, %xmm3 ; AVX-NEXT: vpmaxud %xmm0, %xmm3, %xmm0 ; AVX-NEXT: vpcmpeqd %xmm0, %xmm3, %xmm0 ; AVX-NEXT: vpxor %xmm2, %xmm0, %xmm0 ; AVX-NEXT: vblendvps %xmm0, %xmm1, %xmm3, %xmm0 ; AVX-NEXT: retq %1 = xor <4 x i32> %a0, - %2 = call {<4 x i32>, <4 x i1>} @llvm.uadd.with.overflow.v4i32(<4 x i32> %1, <4 x i32> ) + %2 = call {<4 x i32>, <4 x i1>} @llvm.uadd.with.overflow.v4i32(<4 x i32> %1, <4 x i32> ) %3 = extractvalue {<4 x i32>, <4 x i1>} %2, 0 %4 = extractvalue {<4 x i32>, <4 x i1>} %2, 1 %5 = select <4 x i1> %4, <4 x i32> %a1, <4 x i32> %3