diff --git a/llvm/test/CodeGen/X86/avx512-intrinsics.ll b/llvm/test/CodeGen/X86/avx512-intrinsics.ll index fcc8a1508a63c..a089e1ee99af5 100644 --- a/llvm/test/CodeGen/X86/avx512-intrinsics.ll +++ b/llvm/test/CodeGen/X86/avx512-intrinsics.ll @@ -5783,14 +5783,20 @@ define <4 x float>@test_int_x86_avx512_maskz_vfmadd_ss(<4 x float> %x0, <4 x flo ; X64-LABEL: test_int_x86_avx512_maskz_vfmadd_ss: ; X64: # %bb.0: ; X64-NEXT: kmovw %edi, %k1 -; X64-NEXT: vfmadd213ss {{.*#+}} xmm0 = (xmm1 * xmm0) + xmm2 +; X64-NEXT: vmovaps %xmm0, %xmm3 +; X64-NEXT: vfmadd213ss {{.*#+}} xmm3 = (xmm1 * xmm3) + xmm2 +; X64-NEXT: vfmadd213ss {rz-sae}, %xmm2, %xmm1, %xmm0 {%k1} {z} +; X64-NEXT: vaddps %xmm0, %xmm3, %xmm0 ; X64-NEXT: retq ; ; X86-LABEL: test_int_x86_avx512_maskz_vfmadd_ss: ; X86: # %bb.0: ; X86-NEXT: movb {{[0-9]+}}(%esp), %al ; X86-NEXT: kmovw %eax, %k1 -; X86-NEXT: vfmadd213ss {{.*#+}} xmm0 = (xmm1 * xmm0) + xmm2 +; X86-NEXT: vmovaps %xmm0, %xmm3 +; X86-NEXT: vfmadd213ss {{.*#+}} xmm3 = (xmm1 * xmm3) + xmm2 +; X86-NEXT: vfmadd213ss {rz-sae}, %xmm2, %xmm1, %xmm0 {%k1} {z} +; X86-NEXT: vaddps %xmm0, %xmm3, %xmm0 ; X86-NEXT: retl %1 = extractelement <4 x float> %x0, i64 0 %2 = extractelement <4 x float> %x1, i64 0 @@ -5809,7 +5815,7 @@ define <4 x float>@test_int_x86_avx512_maskz_vfmadd_ss(<4 x float> %x0, <4 x flo %15 = select i1 %14, float %12, float 0.000000e+00 %16 = insertelement <4 x float> %x0, float %15, i64 0 %res2 = fadd <4 x float> %8, %16 - ret <4 x float> %8 + ret <4 x float> %res2 } define <2 x double>@test_int_x86_avx512_mask3_vfmadd_sd(<2 x double> %x0, <2 x double> %x1, <2 x double> %x2, i8 %x3,i32 %x4 ){