; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc < %s -mtriple=x86_64-unknown-linux-gnu -mattr=+avx512f -mattr=+fma -show-mc-encoding | FileCheck %s --check-prefix=CHECK --check-prefix=SKX

define <2 x double> @combine_scalar_mask_fmadd_f32(<2 x double> %a, i8 zeroext %k, <2 x double> %b, <2 x double> %c) {
; CHECK-LABEL: combine_scalar_mask_fmadd_f32:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    kmovw %edi, %k1 # encoding: [0xc5,0xf8,0x92,0xcf]
; CHECK-NEXT:    vfmadd213ss %xmm2, %xmm1, %xmm0 {%k1} # encoding: [0x62,0xf2,0x75,0x09,0xa9,0xc2]
; CHECK-NEXT:    # xmm0 = (xmm1 * xmm0) + xmm2
; CHECK-NEXT:    retq # encoding: [0xc3]
entry:
  %0 = bitcast <2 x double> %a to <4 x float>
  %1 = bitcast <2 x double> %b to <4 x float>
  %2 = bitcast <2 x double> %c to <4 x float>
  %3 = extractelement <4 x float> %0, i64 0
  %4 = extractelement <4 x float> %1, i64 0
  %5 = extractelement <4 x float> %2, i64 0
  %6 = fmul fast float %4, %3
  %7 = fadd fast float %6, %5
  %8 = bitcast i8 %k to <8 x i1>
  %9 = extractelement <8 x i1> %8, i64 0
  %10 = select i1 %9, float %7, float %3
  %11 = insertelement <4 x float> %0, float %10, i64 0
  %12 = bitcast <4 x float> %11 to <2 x double>
  ret <2 x double> %12
}

define <2 x double> @combine_scalar_mask_fmadd_f64(<2 x double> %a, i8 zeroext %k, <2 x double> %b, <2 x double> %c) {
; CHECK-LABEL: combine_scalar_mask_fmadd_f64:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    kmovw %edi, %k1 # encoding: [0xc5,0xf8,0x92,0xcf]
; CHECK-NEXT:    vfmadd213sd %xmm2, %xmm1, %xmm0 {%k1} # encoding: [0x62,0xf2,0xf5,0x09,0xa9,0xc2]
; CHECK-NEXT:    # xmm0 = (xmm1 * xmm0) + xmm2
; CHECK-NEXT:    retq # encoding: [0xc3]
entry:
  %0 = extractelement <2 x double> %a, i64 0
  %1 = extractelement <2 x double> %b, i64 0
  %2 = extractelement <2 x double> %c, i64 0
  %3 = fmul fast double %1, %0
  %4 = fadd fast double %3, %2
  %5 = bitcast i8 %k to <8 x i1>
  %6 = extractelement <8 x i1> %5, i64 0
  %7 = select i1 %6, double %4, double %0
  %8 = insertelement <2 x double> %a, double %7, i64 0
  ret <2 x double> %8
}

define <2 x double> @combine_scalar_maskz_fmadd_32(i8 zeroext %k, <2 x double> %a, <2 x double> %b, <2 x double> %c) {
; CHECK-LABEL: combine_scalar_maskz_fmadd_32:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    kmovw %edi, %k1 # encoding: [0xc5,0xf8,0x92,0xcf]
; CHECK-NEXT:    vfmadd213ss %xmm2, %xmm1, %xmm0 {%k1} {z} # encoding: [0x62,0xf2,0x75,0x89,0xa9,0xc2]
; CHECK-NEXT:    # xmm0 = (xmm1 * xmm0) + xmm2
; CHECK-NEXT:    retq # encoding: [0xc3]
entry:
  %0 = bitcast <2 x double> %a to <4 x float>
  %1 = bitcast <2 x double> %b to <4 x float>
  %2 = bitcast <2 x double> %c to <4 x float>
  %3 = extractelement <4 x float> %0, i64 0
  %4 = extractelement <4 x float> %1, i64 0
  %5 = extractelement <4 x float> %2, i64 0
  %6 = fmul fast float %4, %3
  %7 = fadd fast float %6, %5
  %8 = bitcast i8 %k to <8 x i1>
  %9 = extractelement <8 x i1> %8, i64 0
  %10 = select i1 %9, float %7, float 0.000000e+00
  %11 = insertelement <4 x float> %0, float %10, i64 0
  %12 = bitcast <4 x float> %11 to <2 x double>
  ret <2 x double> %12
}

define <2 x double> @combine_scalar_maskz_fmadd_64(i8 zeroext %k, <2 x double> %a, <2 x double> %b, <2 x double> %c) {
; CHECK-LABEL: combine_scalar_maskz_fmadd_64:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    kmovw %edi, %k1 # encoding: [0xc5,0xf8,0x92,0xcf]
; CHECK-NEXT:    vfmadd213sd %xmm2, %xmm1, %xmm0 {%k1} {z} # encoding: [0x62,0xf2,0xf5,0x89,0xa9,0xc2]
; CHECK-NEXT:    # xmm0 = (xmm1 * xmm0) + xmm2
; CHECK-NEXT:    retq # encoding: [0xc3]
entry:
  %0 = extractelement <2 x double> %a, i64 0
  %1 = extractelement <2 x double> %b, i64 0
  %2 = extractelement <2 x double> %c, i64 0
  %3 = fmul fast double %1, %0
  %4 = fadd fast double %3, %2
  %5 = bitcast i8 %k to <8 x i1>
  %6 = extractelement <8 x i1> %5, i64 0
  %7 = select i1 %6, double %4, double 0.000000e+00
  %8 = insertelement <2 x double> %a, double %7, i64 0
  ret <2 x double> %8
}

define <2 x double> @combine_scalar_mask3_fmadd_32(<2 x double> %a, <2 x double> %b, <2 x double> %c, i8 zeroext %k) {
; CHECK-LABEL: combine_scalar_mask3_fmadd_32:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    kmovw %edi, %k1 # encoding: [0xc5,0xf8,0x92,0xcf]
; CHECK-NEXT:    vfmadd231ss %xmm0, %xmm1, %xmm2 {%k1} # encoding: [0x62,0xf2,0x75,0x09,0xb9,0xd0]
; CHECK-NEXT:    # xmm2 = (xmm1 * xmm0) + xmm2
; CHECK-NEXT:    vmovaps %xmm2, %xmm0 # encoding: [0xc5,0xf8,0x28,0xc2]
; CHECK-NEXT:    retq # encoding: [0xc3]
entry:
  %0 = bitcast <2 x double> %a to <4 x float>
  %1 = bitcast <2 x double> %b to <4 x float>
  %2 = bitcast <2 x double> %c to <4 x float>
  %3 = extractelement <4 x float> %0, i64 0
  %4 = extractelement <4 x float> %1, i64 0
  %5 = extractelement <4 x float> %2, i64 0
  %6 = fmul fast float %4, %3
  %7 = fadd fast float %6, %5
  %8 = bitcast i8 %k to <8 x i1>
  %9 = extractelement <8 x i1> %8, i64 0
  %10 = select i1 %9, float %7, float %5
  %11 = insertelement <4 x float> %2, float %10, i64 0
  %12 = bitcast <4 x float> %11 to <2 x double>
  ret <2 x double> %12
}

define <2 x double> @combine_scalar_mask3_fmadd_64(<2 x double> %a, <2 x double> %b, <2 x double> %c, i8 zeroext %k) {
; CHECK-LABEL: combine_scalar_mask3_fmadd_64:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    kmovw %edi, %k1 # encoding: [0xc5,0xf8,0x92,0xcf]
; CHECK-NEXT:    vfmadd231sd %xmm0, %xmm1, %xmm2 {%k1} # encoding: [0x62,0xf2,0xf5,0x09,0xb9,0xd0]
; CHECK-NEXT:    # xmm2 = (xmm1 * xmm0) + xmm2
; CHECK-NEXT:    vmovapd %xmm2, %xmm0 # encoding: [0xc5,0xf9,0x28,0xc2]
; CHECK-NEXT:    retq # encoding: [0xc3]
entry:
  %0 = extractelement <2 x double> %a, i64 0
  %1 = extractelement <2 x double> %b, i64 0
  %2 = extractelement <2 x double> %c, i64 0
  %3 = fmul fast double %1, %0
  %4 = fadd fast double %3, %2
  %5 = bitcast i8 %k to <8 x i1>
  %6 = extractelement <8 x i1> %5, i64 0
  %7 = select i1 %6, double %4, double %2
  %8 = insertelement <2 x double> %c, double %7, i64 0
  ret <2 x double> %8
}

define <2 x double> @combine_scalar_mask_fmsub_f32(<2 x double> %a, i8 zeroext %k, <2 x double> %b, <2 x double> %c) {
; CHECK-LABEL: combine_scalar_mask_fmsub_f32:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    kmovw %edi, %k1 # encoding: [0xc5,0xf8,0x92,0xcf]
; CHECK-NEXT:    vfmsub213ss %xmm2, %xmm1, %xmm0 {%k1} # encoding: [0x62,0xf2,0x75,0x09,0xab,0xc2]
; CHECK-NEXT:    # xmm0 = (xmm1 * xmm0) - xmm2
; CHECK-NEXT:    retq # encoding: [0xc3]
entry:
  %0 = bitcast <2 x double> %a to <4 x float>
  %1 = bitcast <2 x double> %b to <4 x float>
  %2 = bitcast <2 x double> %c to <4 x float>
  %3 = extractelement <4 x float> %0, i64 0
  %4 = extractelement <4 x float> %1, i64 0
  %5 = extractelement <4 x float> %2, i64 0
  %6 = fmul fast float %4, %3
  %7 = fsub fast float %6, %5
  %8 = bitcast i8 %k to <8 x i1>
  %9 = extractelement <8 x i1> %8, i64 0
  %10 = select i1 %9, float %7, float %3
  %11 = insertelement <4 x float> %0, float %10, i64 0
  %12 = bitcast <4 x float> %11 to <2 x double>
  ret <2 x double> %12
}

define <2 x double> @combine_scalar_mask_fmsub_f64(<2 x double> %a, i8 zeroext %k, <2 x double> %b, <2 x double> %c) {
; CHECK-LABEL: combine_scalar_mask_fmsub_f64:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    kmovw %edi, %k1 # encoding: [0xc5,0xf8,0x92,0xcf]
; CHECK-NEXT:    vfmsub213sd %xmm2, %xmm1, %xmm0 {%k1} # encoding: [0x62,0xf2,0xf5,0x09,0xab,0xc2]
; CHECK-NEXT:    # xmm0 = (xmm1 * xmm0) - xmm2
; CHECK-NEXT:    retq # encoding: [0xc3]
entry:
  %0 = extractelement <2 x double> %a, i64 0
  %1 = extractelement <2 x double> %b, i64 0
  %2 = extractelement <2 x double> %c, i64 0
  %3 = fmul fast double %1, %0
  %4 = fsub fast double %3, %2
  %5 = bitcast i8 %k to <8 x i1>
  %6 = extractelement <8 x i1> %5, i64 0
  %7 = select i1 %6, double %4, double %0
  %8 = insertelement <2 x double> %a, double %7, i64 0
  ret <2 x double> %8
}

define <2 x double> @combine_scalar_maskz_fmsub_32(i8 zeroext %k, <2 x double> %a, <2 x double> %b, <2 x double> %c) {
; CHECK-LABEL: combine_scalar_maskz_fmsub_32:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    kmovw %edi, %k1 # encoding: [0xc5,0xf8,0x92,0xcf]
; CHECK-NEXT:    vfmsub213ss %xmm2, %xmm1, %xmm0 {%k1} {z} # encoding: [0x62,0xf2,0x75,0x89,0xab,0xc2]
; CHECK-NEXT:    # xmm0 = (xmm1 * xmm0) - xmm2
; CHECK-NEXT:    retq # encoding: [0xc3]
entry:
  %0 = bitcast <2 x double> %a to <4 x float>
  %1 = bitcast <2 x double> %b to <4 x float>
  %2 = bitcast <2 x double> %c to <4 x float>
  %3 = extractelement <4 x float> %0, i64 0
  %4 = extractelement <4 x float> %1, i64 0
  %5 = extractelement <4 x float> %2, i64 0
  %6 = fmul fast float %4, %3
  %7 = fsub fast float %6, %5
  %8 = bitcast i8 %k to <8 x i1>
  %9 = extractelement <8 x i1> %8, i64 0
  %10 = select i1 %9, float %7, float 0.000000e+00
  %11 = insertelement <4 x float> %0, float %10, i64 0
  %12 = bitcast <4 x float> %11 to <2 x double>
  ret <2 x double> %12
}

define <2 x double> @combine_scalar_maskz_fmsub_64(i8 zeroext %k, <2 x double> %a, <2 x double> %b, <2 x double> %c) {
; CHECK-LABEL: combine_scalar_maskz_fmsub_64:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    kmovw %edi, %k1 # encoding: [0xc5,0xf8,0x92,0xcf]
; CHECK-NEXT:    vfmsub213sd %xmm2, %xmm1, %xmm0 {%k1} {z} # encoding: [0x62,0xf2,0xf5,0x89,0xab,0xc2]
; CHECK-NEXT:    # xmm0 = (xmm1 * xmm0) - xmm2
; CHECK-NEXT:    retq # encoding: [0xc3]
entry:
  %0 = extractelement <2 x double> %a, i64 0
  %1 = extractelement <2 x double> %b, i64 0
  %2 = extractelement <2 x double> %c, i64 0
  %3 = fmul fast double %1, %0
  %4 = fsub fast double %3, %2
  %5 = bitcast i8 %k to <8 x i1>
  %6 = extractelement <8 x i1> %5, i64 0
  %7 = select i1 %6, double %4, double 0.000000e+00
  %8 = insertelement <2 x double> %a, double %7, i64 0
  ret <2 x double> %8
}

define <2 x double> @combine_scalar_mask3_fmsub_32(<2 x double> %a, <2 x double> %b, <2 x double> %c, i8 zeroext %k) {
; CHECK-LABEL: combine_scalar_mask3_fmsub_32:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    kmovw %edi, %k1 # encoding: [0xc5,0xf8,0x92,0xcf]
; CHECK-NEXT:    vfmsub231ss %xmm0, %xmm1, %xmm2 {%k1} # encoding: [0x62,0xf2,0x75,0x09,0xbb,0xd0]
; CHECK-NEXT:    # xmm2 = (xmm1 * xmm0) - xmm2
; CHECK-NEXT:    vmovaps %xmm2, %xmm0 # encoding: [0xc5,0xf8,0x28,0xc2]
; CHECK-NEXT:    retq # encoding: [0xc3]
entry:
  %0 = bitcast <2 x double> %a to <4 x float>
  %1 = bitcast <2 x double> %b to <4 x float>
  %2 = bitcast <2 x double> %c to <4 x float>
  %3 = extractelement <4 x float> %0, i64 0
  %4 = extractelement <4 x float> %1, i64 0
  %5 = extractelement <4 x float> %2, i64 0
  %6 = fmul fast float %4, %3
  %7 = fsub fast float %6, %5
  %8 = bitcast i8 %k to <8 x i1>
  %9 = extractelement <8 x i1> %8, i64 0
  %10 = select i1 %9, float %7, float %5
  %11 = insertelement <4 x float> %2, float %10, i64 0
  %12 = bitcast <4 x float> %11 to <2 x double>
  ret <2 x double> %12
}

define <2 x double> @combine_scalar_mask3_fmsub_64(<2 x double> %a, <2 x double> %b, <2 x double> %c, i8 zeroext %k) {
; CHECK-LABEL: combine_scalar_mask3_fmsub_64:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    kmovw %edi, %k1 # encoding: [0xc5,0xf8,0x92,0xcf]
; CHECK-NEXT:    vfmsub231sd %xmm0, %xmm1, %xmm2 {%k1} # encoding: [0x62,0xf2,0xf5,0x09,0xbb,0xd0]
; CHECK-NEXT:    # xmm2 = (xmm1 * xmm0) - xmm2
; CHECK-NEXT:    vmovapd %xmm2, %xmm0 # encoding: [0xc5,0xf9,0x28,0xc2]
; CHECK-NEXT:    retq # encoding: [0xc3]
entry:
  %0 = extractelement <2 x double> %a, i64 0
  %1 = extractelement <2 x double> %b, i64 0
  %2 = extractelement <2 x double> %c, i64 0
  %3 = fmul fast double %1, %0
  %4 = fsub fast double %3, %2
  %5 = bitcast i8 %k to <8 x i1>
  %6 = extractelement <8 x i1> %5, i64 0
  %7 = select i1 %6, double %4, double %2
  %8 = insertelement <2 x double> %c, double %7, i64 0
  ret <2 x double> %8
}

define <2 x double> @combine_scalar_mask_fnmadd_f32(<2 x double> %a, i8 zeroext %k, <2 x double> %b, <2 x double> %c) {
; CHECK-LABEL: combine_scalar_mask_fnmadd_f32:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    kmovw %edi, %k1 # encoding: [0xc5,0xf8,0x92,0xcf]
; CHECK-NEXT:    vfnmadd213ss %xmm2, %xmm1, %xmm0 {%k1} # encoding: [0x62,0xf2,0x75,0x09,0xad,0xc2]
; CHECK-NEXT:    # xmm0 = -(xmm1 * xmm0) + xmm2
; CHECK-NEXT:    retq # encoding: [0xc3]
entry:
  %0 = bitcast <2 x double> %a to <4 x float>
  %1 = bitcast <2 x double> %b to <4 x float>
  %2 = bitcast <2 x double> %c to <4 x float>
  %3 = extractelement <4 x float> %0, i64 0
  %4 = extractelement <4 x float> %1, i64 0
  %5 = extractelement <4 x float> %2, i64 0
  %6 = fmul fast float %4, %3
  %7 = fsub fast float %5, %6
  %8 = bitcast i8 %k to <8 x i1>
  %9 = extractelement <8 x i1> %8, i64 0
  %10 = select i1 %9, float %7, float %3
  %11 = insertelement <4 x float> %0, float %10, i64 0
  %12 = bitcast <4 x float> %11 to <2 x double>
  ret <2 x double> %12
}

define <2 x double> @combine_scalar_mask_fnmadd_f64(<2 x double> %a, i8 zeroext %k, <2 x double> %b, <2 x double> %c) {
; CHECK-LABEL: combine_scalar_mask_fnmadd_f64:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    kmovw %edi, %k1 # encoding: [0xc5,0xf8,0x92,0xcf]
; CHECK-NEXT:    vfnmadd213sd %xmm2, %xmm1, %xmm0 {%k1} # encoding: [0x62,0xf2,0xf5,0x09,0xad,0xc2]
; CHECK-NEXT:    # xmm0 = -(xmm1 * xmm0) + xmm2
; CHECK-NEXT:    retq # encoding: [0xc3]
entry:
  %0 = extractelement <2 x double> %a, i64 0
  %1 = extractelement <2 x double> %b, i64 0
  %2 = extractelement <2 x double> %c, i64 0
  %3 = fmul fast double %1, %0
  %4 = fsub fast double %2, %3
  %5 = bitcast i8 %k to <8 x i1>
  %6 = extractelement <8 x i1> %5, i64 0
  %7 = select i1 %6, double %4, double %0
  %8 = insertelement <2 x double> %a, double %7, i64 0
  ret <2 x double> %8
}

define <2 x double> @combine_scalar_maskz_fnmadd_32(i8 zeroext %k, <2 x double> %a, <2 x double> %b, <2 x double> %c) {
; CHECK-LABEL: combine_scalar_maskz_fnmadd_32:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    kmovw %edi, %k1 # encoding: [0xc5,0xf8,0x92,0xcf]
; CHECK-NEXT:    vfnmadd213ss %xmm2, %xmm1, %xmm0 {%k1} {z} # encoding: [0x62,0xf2,0x75,0x89,0xad,0xc2]
; CHECK-NEXT:    # xmm0 = -(xmm1 * xmm0) + xmm2
; CHECK-NEXT:    retq # encoding: [0xc3]
entry:
  %0 = bitcast <2 x double> %a to <4 x float>
  %1 = bitcast <2 x double> %b to <4 x float>
  %2 = bitcast <2 x double> %c to <4 x float>
  %3 = extractelement <4 x float> %0, i64 0
  %4 = extractelement <4 x float> %1, i64 0
  %5 = extractelement <4 x float> %2, i64 0
  %6 = fmul fast float %4, %3
  %7 = fsub fast float %5, %6
  %8 = bitcast i8 %k to <8 x i1>
  %9 = extractelement <8 x i1> %8, i64 0
  %10 = select i1 %9, float %7, float 0.000000e+00
  %11 = insertelement <4 x float> %0, float %10, i64 0
  %12 = bitcast <4 x float> %11 to <2 x double>
  ret <2 x double> %12
}

define <2 x double> @combine_scalar_maskz_fnmadd_64(i8 zeroext %k, <2 x double> %a, <2 x double> %b, <2 x double> %c) {
; CHECK-LABEL: combine_scalar_maskz_fnmadd_64:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    kmovw %edi, %k1 # encoding: [0xc5,0xf8,0x92,0xcf]
; CHECK-NEXT:    vfnmadd213sd %xmm2, %xmm1, %xmm0 {%k1} {z} # encoding: [0x62,0xf2,0xf5,0x89,0xad,0xc2]
; CHECK-NEXT:    # xmm0 = -(xmm1 * xmm0) + xmm2
; CHECK-NEXT:    retq # encoding: [0xc3]
entry:
  %0 = extractelement <2 x double> %a, i64 0
  %1 = extractelement <2 x double> %b, i64 0
  %2 = extractelement <2 x double> %c, i64 0
  %3 = fmul fast double %1, %0
  %4 = fsub fast double %2, %3
  %5 = bitcast i8 %k to <8 x i1>
  %6 = extractelement <8 x i1> %5, i64 0
  %7 = select i1 %6, double %4, double 0.000000e+00
  %8 = insertelement <2 x double> %a, double %7, i64 0
  ret <2 x double> %8
}

define <2 x double> @combine_scalar_mask3_fnmadd_32(<2 x double> %a, <2 x double> %b, <2 x double> %c, i8 zeroext %k) {
; CHECK-LABEL: combine_scalar_mask3_fnmadd_32:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    kmovw %edi, %k1 # encoding: [0xc5,0xf8,0x92,0xcf]
; CHECK-NEXT:    vfnmadd231ss %xmm0, %xmm1, %xmm2 {%k1} # encoding: [0x62,0xf2,0x75,0x09,0xbd,0xd0]
; CHECK-NEXT:    # xmm2 = -(xmm1 * xmm0) + xmm2
; CHECK-NEXT:    vmovaps %xmm2, %xmm0 # encoding: [0xc5,0xf8,0x28,0xc2]
; CHECK-NEXT:    retq # encoding: [0xc3]
entry:
  %0 = bitcast <2 x double> %a to <4 x float>
  %1 = bitcast <2 x double> %b to <4 x float>
  %2 = bitcast <2 x double> %c to <4 x float>
  %3 = extractelement <4 x float> %0, i64 0
  %4 = extractelement <4 x float> %1, i64 0
  %5 = extractelement <4 x float> %2, i64 0
  %6 = fmul fast float %4, %3
  %7 = fsub fast float %5, %6
  %8 = bitcast i8 %k to <8 x i1>
  %9 = extractelement <8 x i1> %8, i64 0
  %10 = select i1 %9, float %7, float %5
  %11 = insertelement <4 x float> %2, float %10, i64 0
  %12 = bitcast <4 x float> %11 to <2 x double>
  ret <2 x double> %12
}

define <2 x double> @combine_scalar_mask3_fnmadd_64(<2 x double> %a, <2 x double> %b, <2 x double> %c, i8 zeroext %k) {
; CHECK-LABEL: combine_scalar_mask3_fnmadd_64:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    kmovw %edi, %k1 # encoding: [0xc5,0xf8,0x92,0xcf]
; CHECK-NEXT:    vfnmadd231sd %xmm0, %xmm1, %xmm2 {%k1} # encoding: [0x62,0xf2,0xf5,0x09,0xbd,0xd0]
; CHECK-NEXT:    # xmm2 = -(xmm1 * xmm0) + xmm2
; CHECK-NEXT:    vmovapd %xmm2, %xmm0 # encoding: [0xc5,0xf9,0x28,0xc2]
; CHECK-NEXT:    retq # encoding: [0xc3]
entry:
  %0 = extractelement <2 x double> %a, i64 0
  %1 = extractelement <2 x double> %b, i64 0
  %2 = extractelement <2 x double> %c, i64 0
  %3 = fmul fast double %1, %0
  %4 = fsub fast double %2, %3
  %5 = bitcast i8 %k to <8 x i1>
  %6 = extractelement <8 x i1> %5, i64 0
  %7 = select i1 %6, double %4, double %2
  %8 = insertelement <2 x double> %c, double %7, i64 0
  ret <2 x double> %8
}

define <2 x double> @combine_scalar_mask_fnmsub_f32(<2 x double> %a, i8 zeroext %k, <2 x double> %b, <2 x double> %c) {
; CHECK-LABEL: combine_scalar_mask_fnmsub_f32:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    kmovw %edi, %k1 # encoding: [0xc5,0xf8,0x92,0xcf]
; CHECK-NEXT:    vfnmsub213ss %xmm2, %xmm1, %xmm0 {%k1} # encoding: [0x62,0xf2,0x75,0x09,0xaf,0xc2]
; CHECK-NEXT:    # xmm0 = -(xmm1 * xmm0) - xmm2
; CHECK-NEXT:    retq # encoding: [0xc3]
entry:
  %0 = bitcast <2 x double> %a to <4 x float>
  %1 = bitcast <2 x double> %b to <4 x float>
  %2 = bitcast <2 x double> %c to <4 x float>
  %3 = extractelement <4 x float> %0, i64 0
  %4 = extractelement <4 x float> %1, i64 0
  %5 = extractelement <4 x float> %2, i64 0
  %sub = fsub fast float -0.000000e+00, %5
  %6 = fmul fast float %4, %3
  %7 = fsub fast float %sub, %6
  %8 = bitcast i8 %k to <8 x i1>
  %9 = extractelement <8 x i1> %8, i64 0
  %10 = select i1 %9, float %7, float %3
  %11 = insertelement <4 x float> %0, float %10, i64 0
  %12 = bitcast <4 x float> %11 to <2 x double>
  ret <2 x double> %12
}

define <2 x double> @combine_scalar_mask_fnmsub_f64(<2 x double> %a, i8 zeroext %k, <2 x double> %b, <2 x double> %c) {
; CHECK-LABEL: combine_scalar_mask_fnmsub_f64:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    kmovw %edi, %k1 # encoding: [0xc5,0xf8,0x92,0xcf]
; CHECK-NEXT:    vfnmsub213sd %xmm2, %xmm1, %xmm0 {%k1} # encoding: [0x62,0xf2,0xf5,0x09,0xaf,0xc2]
; CHECK-NEXT:    # xmm0 = -(xmm1 * xmm0) - xmm2
; CHECK-NEXT:    retq # encoding: [0xc3]
entry:
  %0 = extractelement <2 x double> %a, i64 0
  %1 = extractelement <2 x double> %b, i64 0
  %2 = extractelement <2 x double> %c, i64 0
  %sub = fsub fast double -0.000000e+00, %2
  %3 = fmul fast double %1, %0
  %4 = fsub fast double %sub, %3
  %5 = bitcast i8 %k to <8 x i1>
  %6 = extractelement <8 x i1> %5, i64 0
  %7 = select i1 %6, double %4, double %0
  %8 = insertelement <2 x double> %a, double %7, i64 0
  ret <2 x double> %8
}

define <2 x double> @combine_scalar_maskz_fnmsub_32(i8 zeroext %k, <2 x double> %a, <2 x double> %b, <2 x double> %c) {
; CHECK-LABEL: combine_scalar_maskz_fnmsub_32:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    kmovw %edi, %k1 # encoding: [0xc5,0xf8,0x92,0xcf]
; CHECK-NEXT:    vfnmsub213ss %xmm2, %xmm1, %xmm0 {%k1} {z} # encoding: [0x62,0xf2,0x75,0x89,0xaf,0xc2]
; CHECK-NEXT:    # xmm0 = -(xmm1 * xmm0) - xmm2
; CHECK-NEXT:    retq # encoding: [0xc3]
entry:
  %0 = bitcast <2 x double> %a to <4 x float>
  %1 = bitcast <2 x double> %b to <4 x float>
  %2 = bitcast <2 x double> %c to <4 x float>
  %3 = extractelement <4 x float> %0, i64 0
  %4 = extractelement <4 x float> %1, i64 0
  %5 = extractelement <4 x float> %2, i64 0
  %sub = fsub fast float -0.000000e+00, %5
  %6 = fmul fast float %4, %3
  %7 = fsub fast float %sub, %6
  %8 = bitcast i8 %k to <8 x i1>
  %9 = extractelement <8 x i1> %8, i64 0
  %10 = select i1 %9, float %7, float 0.000000e+00
  %11 = insertelement <4 x float> %0, float %10, i64 0
  %12 = bitcast <4 x float> %11 to <2 x double>
  ret <2 x double> %12
}

define <2 x double> @combine_scalar_maskz_fnmsub_64(i8 zeroext %k, <2 x double> %a, <2 x double> %b, <2 x double> %c) {
; CHECK-LABEL: combine_scalar_maskz_fnmsub_64:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    kmovw %edi, %k1 # encoding: [0xc5,0xf8,0x92,0xcf]
; CHECK-NEXT:    vfnmsub213sd %xmm2, %xmm1, %xmm0 {%k1} {z} # encoding: [0x62,0xf2,0xf5,0x89,0xaf,0xc2]
; CHECK-NEXT:    # xmm0 = -(xmm1 * xmm0) - xmm2
; CHECK-NEXT:    retq # encoding: [0xc3]
entry:
  %0 = extractelement <2 x double> %a, i64 0
  %1 = extractelement <2 x double> %b, i64 0
  %2 = extractelement <2 x double> %c, i64 0
  %sub = fsub fast double -0.000000e+00, %2
  %3 = fmul fast double %1, %0
  %4 = fsub fast double %sub, %3
  %5 = bitcast i8 %k to <8 x i1>
  %6 = extractelement <8 x i1> %5, i64 0
  %7 = select i1 %6, double %4, double 0.000000e+00
  %8 = insertelement <2 x double> %a, double %7, i64 0
  ret <2 x double> %8
}

define <2 x double> @combine_scalar_mask3_fnmsub_32(<2 x double> %a, <2 x double> %b, <2 x double> %c, i8 zeroext %k) {
; CHECK-LABEL: combine_scalar_mask3_fnmsub_32:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    kmovw %edi, %k1 # encoding: [0xc5,0xf8,0x92,0xcf]
; CHECK-NEXT:    vfnmsub231ss %xmm0, %xmm1, %xmm2 {%k1} # encoding: [0x62,0xf2,0x75,0x09,0xbf,0xd0]
; CHECK-NEXT:    # xmm2 = -(xmm1 * xmm0) - xmm2
; CHECK-NEXT:    vmovaps %xmm2, %xmm0 # encoding: [0xc5,0xf8,0x28,0xc2]
; CHECK-NEXT:    retq # encoding: [0xc3]
entry:
  %0 = bitcast <2 x double> %a to <4 x float>
  %1 = bitcast <2 x double> %b to <4 x float>
  %2 = bitcast <2 x double> %c to <4 x float>
  %3 = extractelement <4 x float> %0, i64 0
  %4 = extractelement <4 x float> %1, i64 0
  %5 = extractelement <4 x float> %2, i64 0
  %sub = fsub fast float -0.000000e+00, %5
  %6 = fmul fast float %4, %3
  %7 = fsub fast float %sub, %6
  %8 = bitcast i8 %k to <8 x i1>
  %9 = extractelement <8 x i1> %8, i64 0
  %10 = select i1 %9, float %7, float %5
  %11 = insertelement <4 x float> %2, float %10, i64 0
  %12 = bitcast <4 x float> %11 to <2 x double>
  ret <2 x double> %12
}

define <2 x double> @combine_scalar_mask3_fnmsub_64(<2 x double> %a, <2 x double> %b, <2 x double> %c, i8 zeroext %k) {
; CHECK-LABEL: combine_scalar_mask3_fnmsub_64:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    kmovw %edi, %k1 # encoding: [0xc5,0xf8,0x92,0xcf]
; CHECK-NEXT:    vfnmsub231sd %xmm0, %xmm1, %xmm2 {%k1} # encoding: [0x62,0xf2,0xf5,0x09,0xbf,0xd0]
; CHECK-NEXT:    # xmm2 = -(xmm1 * xmm0) - xmm2
; CHECK-NEXT:    vmovapd %xmm2, %xmm0 # encoding: [0xc5,0xf9,0x28,0xc2]
; CHECK-NEXT:    retq # encoding: [0xc3]
entry:
  %0 = extractelement <2 x double> %a, i64 0
  %1 = extractelement <2 x double> %b, i64 0
  %2 = extractelement <2 x double> %c, i64 0
  %sub = fsub fast double -0.000000e+00, %2
  %3 = fmul fast double %1, %0
  %4 = fsub fast double %sub, %3
  %5 = bitcast i8 %k to <8 x i1>
  %6 = extractelement <8 x i1> %5, i64 0
  %7 = select i1 %6, double %4, double %2
  %8 = insertelement <2 x double> %c, double %7, i64 0
  ret <2 x double> %8
}
