; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx,+xop | FileCheck %s --check-prefix=XOP --check-prefix=XOP-AVX1
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx2,+xop | FileCheck %s --check-prefix=XOP --check-prefix=XOP-AVX2

define <8 x i16> @test_mul_v8i16_add_v8i16(<8 x i16> %a0, <8 x i16> %a1, <8 x i16> %a2) {
; XOP-LABEL: test_mul_v8i16_add_v8i16:
; XOP:       # %bb.0:
; XOP-NEXT:    vpmacsww %xmm2, %xmm1, %xmm0, %xmm0
; XOP-NEXT:    retq
  %1 = mul <8 x i16> %a0, %a1
  %2 = add <8 x i16> %1, %a2
  ret <8 x i16> %2
}

define <16 x i16> @test_mul_v16i16_add_v16i16(<16 x i16> %a0, <16 x i16> %a1, <16 x i16> %a2) {
; XOP-AVX1-LABEL: test_mul_v16i16_add_v16i16:
; XOP-AVX1:       # %bb.0:
; XOP-AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm3
; XOP-AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm4
; XOP-AVX1-NEXT:    vextractf128 $1, %ymm2, %xmm5
; XOP-AVX1-NEXT:    vpmacsww %xmm5, %xmm3, %xmm4, %xmm3
; XOP-AVX1-NEXT:    vpmacsww %xmm2, %xmm1, %xmm0, %xmm0
; XOP-AVX1-NEXT:    vinsertf128 $1, %xmm3, %ymm0, %ymm0
; XOP-AVX1-NEXT:    retq
;
; XOP-AVX2-LABEL: test_mul_v16i16_add_v16i16:
; XOP-AVX2:       # %bb.0:
; XOP-AVX2-NEXT:    vpmullw %ymm1, %ymm0, %ymm0
; XOP-AVX2-NEXT:    vpaddw %ymm0, %ymm2, %ymm0
; XOP-AVX2-NEXT:    retq
  %1 = mul <16 x i16> %a0, %a1
  %2 = add <16 x i16> %a2, %1
  ret <16 x i16> %2
}

define <4 x i32> @test_mul_v4i32_add_v4i32(<4 x i32> %a0, <4 x i32> %a1, <4 x i32> %a2) {
; XOP-LABEL: test_mul_v4i32_add_v4i32:
; XOP:       # %bb.0:
; XOP-NEXT:    vpmacsdd %xmm2, %xmm1, %xmm0, %xmm0
; XOP-NEXT:    retq
  %1 = mul <4 x i32> %a0, %a1
  %2 = add <4 x i32> %1, %a2
  ret <4 x i32> %2
}

define <8 x i32> @test_mul_v8i32_add_v8i32(<8 x i32> %a0, <8 x i32> %a1, <8 x i32> %a2) {
; XOP-AVX1-LABEL: test_mul_v8i32_add_v8i32:
; XOP-AVX1:       # %bb.0:
; XOP-AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm3
; XOP-AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm4
; XOP-AVX1-NEXT:    vextractf128 $1, %ymm2, %xmm5
; XOP-AVX1-NEXT:    vpmacsdd %xmm5, %xmm3, %xmm4, %xmm3
; XOP-AVX1-NEXT:    vpmacsdd %xmm2, %xmm1, %xmm0, %xmm0
; XOP-AVX1-NEXT:    vinsertf128 $1, %xmm3, %ymm0, %ymm0
; XOP-AVX1-NEXT:    retq
;
; XOP-AVX2-LABEL: test_mul_v8i32_add_v8i32:
; XOP-AVX2:       # %bb.0:
; XOP-AVX2-NEXT:    vpmulld %ymm1, %ymm0, %ymm0
; XOP-AVX2-NEXT:    vpaddd %ymm0, %ymm2, %ymm0
; XOP-AVX2-NEXT:    retq
  %1 = mul <8 x i32> %a0, %a1
  %2 = add <8 x i32> %a2, %1
  ret <8 x i32> %2
}

define <4 x i64> @test_mulx_v4i32_add_v4i64(<4 x i32> %a0, <4 x i32> %a1, <4 x i64> %a2) {
; XOP-AVX1-LABEL: test_mulx_v4i32_add_v4i64:
; XOP-AVX1:       # %bb.0:
; XOP-AVX1-NEXT:    vpmovzxdq {{.*#+}} xmm3 = xmm1[0],zero,xmm1[1],zero
; XOP-AVX1-NEXT:    vpmovzxdq {{.*#+}} xmm4 = xmm0[0],zero,xmm0[1],zero
; XOP-AVX1-NEXT:    vpshufd {{.*#+}} xmm1 = xmm1[2,2,3,3]
; XOP-AVX1-NEXT:    vpshufd {{.*#+}} xmm0 = xmm0[2,2,3,3]
; XOP-AVX1-NEXT:    vextractf128 $1, %ymm2, %xmm5
; XOP-AVX1-NEXT:    vpmacsdql %xmm5, %xmm1, %xmm0, %xmm0
; XOP-AVX1-NEXT:    vpmacsdql %xmm2, %xmm3, %xmm4, %xmm1
; XOP-AVX1-NEXT:    vinsertf128 $1, %xmm0, %ymm1, %ymm0
; XOP-AVX1-NEXT:    retq
;
; XOP-AVX2-LABEL: test_mulx_v4i32_add_v4i64:
; XOP-AVX2:       # %bb.0:
; XOP-AVX2-NEXT:    vpmovzxdq {{.*#+}} ymm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero
; XOP-AVX2-NEXT:    vpmovzxdq {{.*#+}} ymm1 = xmm1[0],zero,xmm1[1],zero,xmm1[2],zero,xmm1[3],zero
; XOP-AVX2-NEXT:    vpmuldq %ymm1, %ymm0, %ymm0
; XOP-AVX2-NEXT:    vpaddq %ymm2, %ymm0, %ymm0
; XOP-AVX2-NEXT:    retq
  %1 = sext <4 x i32> %a0 to <4 x i64>
  %2 = sext <4 x i32> %a1 to <4 x i64>
  %3 = mul <4 x i64> %1, %2
  %4 = add <4 x i64> %3, %a2
  ret <4 x i64> %4
}

define <2 x i64> @test_pmuldq_lo_v4i32_add_v2i64(<4 x i32> %a0, <4 x i32> %a1, <2 x i64> %a2) {
; XOP-LABEL: test_pmuldq_lo_v4i32_add_v2i64:
; XOP:       # %bb.0:
; XOP-NEXT:    vpmacsdql %xmm2, %xmm1, %xmm0, %xmm0
; XOP-NEXT:    retq
  %1 = call <2 x i64> @llvm.x86.sse41.pmuldq(<4 x i32> %a0, <4 x i32> %a1)
  %2 = add <2 x i64> %1, %a2
  ret <2 x i64> %2
}

define <2 x i64> @test_pmuldq_hi_v4i32_add_v2i64(<4 x i32> %a0, <4 x i32> %a1, <2 x i64> %a2) {
; XOP-LABEL: test_pmuldq_hi_v4i32_add_v2i64:
; XOP:       # %bb.0:
; XOP-NEXT:    vpmacsdqh %xmm2, %xmm1, %xmm0, %xmm0
; XOP-NEXT:    retq
  %1 = shufflevector <4 x i32> %a0, <4 x i32> undef, <4 x i32> <i32 1, i32 undef, i32 3, i32 undef>
  %2 = shufflevector <4 x i32> %a1, <4 x i32> undef, <4 x i32> <i32 1, i32 undef, i32 3, i32 undef>
  %3 = call <2 x i64> @llvm.x86.sse41.pmuldq(<4 x i32> %1, <4 x i32> %2)
  %4 = add <2 x i64> %3, %a2
  ret <2 x i64> %4
}

define <4 x i32> @test_pmaddwd_v8i16_add_v4i32(<8 x i16> %a0, <8 x i16> %a1, <4 x i32> %a2) {
; XOP-LABEL: test_pmaddwd_v8i16_add_v4i32:
; XOP:       # %bb.0:
; XOP-NEXT:    vpmadcswd %xmm2, %xmm1, %xmm0, %xmm0
; XOP-NEXT:    retq
  %1 = call <4 x i32> @llvm.x86.sse2.pmadd.wd(<8 x i16> %a0, <8 x i16> %a1)
  %2 = add <4 x i32> %1, %a2
  ret <4 x i32> %2
}

declare <4 x i32> @llvm.x86.sse2.pmadd.wd(<8 x i16>, <8 x i16>) nounwind readnone
declare <2 x i64> @llvm.x86.sse41.pmuldq(<4 x i32>, <4 x i32>) nounwind readnone
