; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+sse2   | FileCheck %s --check-prefixes=SSE,SSE2,X86-SSE
; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+sse4.2 | FileCheck %s --check-prefixes=SSE,SSE4,X86-SSE
; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+avx    | FileCheck %s --check-prefixes=AVX,AVX1,X86-AVX,X86-AVX1
; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+avx2   | FileCheck %s --check-prefixes=AVX,AVX2,X86-AVX,X86-AVX2
; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+avx512bw,avx512vl   | FileCheck %s --check-prefixes=AVX,AVX512,X86-AVX512
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse2   | FileCheck %s --check-prefixes=SSE,SSE2,X64-SSE
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse4.2 | FileCheck %s --check-prefixes=SSE,SSE4,X64-SSE
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx    | FileCheck %s --check-prefixes=AVX,AVX1,X64-AVX,X64-AVX1
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx2   | FileCheck %s --check-prefixes=AVX,AVX2,X64-AVX,X64-AVX2
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512bw,avx512vl | FileCheck %s --check-prefixes=AVX,AVX512,X64-AVX512

define <4 x i32> @trunc_ashr_v4i64(<4 x i64> %a) nounwind {
; SSE2-LABEL: trunc_ashr_v4i64:
; SSE2:       # %bb.0:
; SSE2-NEXT:    psrad $31, %xmm1
; SSE2-NEXT:    psrad $31, %xmm0
; SSE2-NEXT:    shufps {{.*#+}} xmm0 = xmm0[1,3],xmm1[1,3]
; SSE2-NEXT:    ret{{[l|q]}}
;
; SSE4-LABEL: trunc_ashr_v4i64:
; SSE4:       # %bb.0:
; SSE4-NEXT:    pxor %xmm2, %xmm2
; SSE4-NEXT:    pxor %xmm3, %xmm3
; SSE4-NEXT:    pcmpgtq %xmm1, %xmm3
; SSE4-NEXT:    pcmpgtq %xmm0, %xmm2
; SSE4-NEXT:    packssdw %xmm3, %xmm2
; SSE4-NEXT:    movdqa %xmm2, %xmm0
; SSE4-NEXT:    ret{{[l|q]}}
;
; AVX1-LABEL: trunc_ashr_v4i64:
; AVX1:       # %bb.0:
; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm1
; AVX1-NEXT:    vpxor %xmm2, %xmm2, %xmm2
; AVX1-NEXT:    vpcmpgtq %xmm1, %xmm2, %xmm1
; AVX1-NEXT:    vpcmpgtq %xmm0, %xmm2, %xmm0
; AVX1-NEXT:    vpackssdw %xmm1, %xmm0, %xmm0
; AVX1-NEXT:    vzeroupper
; AVX1-NEXT:    ret{{[l|q]}}
;
; AVX2-LABEL: trunc_ashr_v4i64:
; AVX2:       # %bb.0:
; AVX2-NEXT:    vpxor %xmm1, %xmm1, %xmm1
; AVX2-NEXT:    vpcmpgtq %ymm0, %ymm1, %ymm0
; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm1
; AVX2-NEXT:    vpackssdw %xmm1, %xmm0, %xmm0
; AVX2-NEXT:    vzeroupper
; AVX2-NEXT:    ret{{[l|q]}}
;
; AVX512-LABEL: trunc_ashr_v4i64:
; AVX512:       # %bb.0:
; AVX512-NEXT:    vpsraq $63, %ymm0, %ymm0
; AVX512-NEXT:    vpmovqd %ymm0, %xmm0
; AVX512-NEXT:    vzeroupper
; AVX512-NEXT:    ret{{[l|q]}}
  %1 = ashr <4 x i64> %a, <i64 63, i64 63, i64 63, i64 63>
  %2 = trunc <4 x i64> %1 to <4 x i32>
  ret <4 x i32> %2
}

define <8 x i16> @trunc_ashr_v4i64_bitcast(<4 x i64> %a0) {
; SSE2-LABEL: trunc_ashr_v4i64_bitcast:
; SSE2:       # %bb.0:
; SSE2-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[1,3,2,3]
; SSE2-NEXT:    movdqa %xmm1, %xmm2
; SSE2-NEXT:    psrad $31, %xmm2
; SSE2-NEXT:    psrad $17, %xmm1
; SSE2-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
; SSE2-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[1,3,2,3]
; SSE2-NEXT:    movdqa %xmm0, %xmm2
; SSE2-NEXT:    psrad $31, %xmm2
; SSE2-NEXT:    psrad $17, %xmm0
; SSE2-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
; SSE2-NEXT:    packssdw %xmm1, %xmm0
; SSE2-NEXT:    ret{{[l|q]}}
;
; SSE4-LABEL: trunc_ashr_v4i64_bitcast:
; SSE4:       # %bb.0:
; SSE4-NEXT:    pshufd {{.*#+}} xmm2 = xmm1[1,1,3,3]
; SSE4-NEXT:    psrad $31, %xmm1
; SSE4-NEXT:    psrad $17, %xmm2
; SSE4-NEXT:    pblendw {{.*#+}} xmm2 = xmm2[0,1],xmm1[2,3],xmm2[4,5],xmm1[6,7]
; SSE4-NEXT:    pshufd {{.*#+}} xmm1 = xmm0[1,1,3,3]
; SSE4-NEXT:    psrad $31, %xmm0
; SSE4-NEXT:    psrad $17, %xmm1
; SSE4-NEXT:    pblendw {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3],xmm1[4,5],xmm0[6,7]
; SSE4-NEXT:    packssdw %xmm2, %xmm0
; SSE4-NEXT:    ret{{[l|q]}}
;
; AVX1-LABEL: trunc_ashr_v4i64_bitcast:
; AVX1:       # %bb.0:
; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm1
; AVX1-NEXT:    vpsrad $31, %xmm1, %xmm2
; AVX1-NEXT:    vpshufd {{.*#+}} xmm1 = xmm1[1,1,3,3]
; AVX1-NEXT:    vpsrad $17, %xmm1, %xmm1
; AVX1-NEXT:    vpblendw {{.*#+}} xmm1 = xmm1[0,1],xmm2[2,3],xmm1[4,5],xmm2[6,7]
; AVX1-NEXT:    vpsrad $31, %xmm0, %xmm2
; AVX1-NEXT:    vpshufd {{.*#+}} xmm0 = xmm0[1,1,3,3]
; AVX1-NEXT:    vpsrad $17, %xmm0, %xmm0
; AVX1-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0,1],xmm2[2,3],xmm0[4,5],xmm2[6,7]
; AVX1-NEXT:    vpackssdw %xmm1, %xmm0, %xmm0
; AVX1-NEXT:    vzeroupper
; AVX1-NEXT:    ret{{[l|q]}}
;
; AVX2-LABEL: trunc_ashr_v4i64_bitcast:
; AVX2:       # %bb.0:
; AVX2-NEXT:    vpsrad $31, %ymm0, %ymm1
; AVX2-NEXT:    vpshufd {{.*#+}} ymm0 = ymm0[1,1,3,3,5,5,7,7]
; AVX2-NEXT:    vpsrad $17, %ymm0, %ymm0
; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0],ymm1[1],ymm0[2],ymm1[3],ymm0[4],ymm1[5],ymm0[6],ymm1[7]
; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm1
; AVX2-NEXT:    vpackssdw %xmm1, %xmm0, %xmm0
; AVX2-NEXT:    vzeroupper
; AVX2-NEXT:    ret{{[l|q]}}
;
; AVX512-LABEL: trunc_ashr_v4i64_bitcast:
; AVX512:       # %bb.0:
; AVX512-NEXT:    vpsraq $49, %ymm0, %ymm0
; AVX512-NEXT:    vpmovdw %ymm0, %xmm0
; AVX512-NEXT:    vzeroupper
; AVX512-NEXT:    ret{{[l|q]}}
   %1 = ashr <4 x i64> %a0, <i64 49, i64 49, i64 49, i64 49>
   %2 = bitcast <4 x i64> %1 to <8 x i32>
   %3 = trunc <8 x i32> %2 to <8 x i16>
   ret <8 x i16> %3
}

define <8 x i16> @trunc_ashr_v8i32(<8 x i32> %a) nounwind {
; SSE-LABEL: trunc_ashr_v8i32:
; SSE:       # %bb.0:
; SSE-NEXT:    psrad $31, %xmm1
; SSE-NEXT:    psrad $31, %xmm0
; SSE-NEXT:    packssdw %xmm1, %xmm0
; SSE-NEXT:    ret{{[l|q]}}
;
; AVX1-LABEL: trunc_ashr_v8i32:
; AVX1:       # %bb.0:
; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm1
; AVX1-NEXT:    vpsrad $31, %xmm1, %xmm1
; AVX1-NEXT:    vpsrad $31, %xmm0, %xmm0
; AVX1-NEXT:    vpackssdw %xmm1, %xmm0, %xmm0
; AVX1-NEXT:    vzeroupper
; AVX1-NEXT:    ret{{[l|q]}}
;
; AVX2-LABEL: trunc_ashr_v8i32:
; AVX2:       # %bb.0:
; AVX2-NEXT:    vpsrad $31, %ymm0, %ymm0
; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm1
; AVX2-NEXT:    vpackssdw %xmm1, %xmm0, %xmm0
; AVX2-NEXT:    vzeroupper
; AVX2-NEXT:    ret{{[l|q]}}
;
; AVX512-LABEL: trunc_ashr_v8i32:
; AVX512:       # %bb.0:
; AVX512-NEXT:    vpsrad $31, %ymm0, %ymm0
; AVX512-NEXT:    vpmovdw %ymm0, %xmm0
; AVX512-NEXT:    vzeroupper
; AVX512-NEXT:    ret{{[l|q]}}
  %1 = ashr <8 x i32> %a, <i32 31, i32 31, i32 31, i32 31, i32 31, i32 31, i32 31, i32 31>
  %2 = trunc <8 x i32> %1 to <8 x i16>
  ret <8 x i16> %2
}

define <8 x i16> @trunc_ashr_v4i32_icmp_v4i32(<4 x i32> %a, <4 x i32> %b) nounwind {
; X86-SSE-LABEL: trunc_ashr_v4i32_icmp_v4i32:
; X86-SSE:       # %bb.0:
; X86-SSE-NEXT:    psrad $31, %xmm0
; X86-SSE-NEXT:    pcmpgtd {{\.?LCPI[0-9]+_[0-9]+}}, %xmm1
; X86-SSE-NEXT:    packssdw %xmm1, %xmm0
; X86-SSE-NEXT:    retl
;
; X86-AVX-LABEL: trunc_ashr_v4i32_icmp_v4i32:
; X86-AVX:       # %bb.0:
; X86-AVX-NEXT:    vpsrad $31, %xmm0, %xmm0
; X86-AVX-NEXT:    vpcmpgtd {{\.?LCPI[0-9]+_[0-9]+}}, %xmm1, %xmm1
; X86-AVX-NEXT:    vpackssdw %xmm1, %xmm0, %xmm0
; X86-AVX-NEXT:    retl
;
; X86-AVX512-LABEL: trunc_ashr_v4i32_icmp_v4i32:
; X86-AVX512:       # %bb.0:
; X86-AVX512-NEXT:    vpsrad $31, %xmm0, %xmm0
; X86-AVX512-NEXT:    vpcmpgtd {{\.?LCPI[0-9]+_[0-9]+}}, %xmm1, %xmm1
; X86-AVX512-NEXT:    vpackssdw %xmm1, %xmm0, %xmm0
; X86-AVX512-NEXT:    retl
;
; X64-SSE-LABEL: trunc_ashr_v4i32_icmp_v4i32:
; X64-SSE:       # %bb.0:
; X64-SSE-NEXT:    psrad $31, %xmm0
; X64-SSE-NEXT:    pcmpgtd {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm1
; X64-SSE-NEXT:    packssdw %xmm1, %xmm0
; X64-SSE-NEXT:    retq
;
; X64-AVX-LABEL: trunc_ashr_v4i32_icmp_v4i32:
; X64-AVX:       # %bb.0:
; X64-AVX-NEXT:    vpsrad $31, %xmm0, %xmm0
; X64-AVX-NEXT:    vpcmpgtd {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm1, %xmm1
; X64-AVX-NEXT:    vpackssdw %xmm1, %xmm0, %xmm0
; X64-AVX-NEXT:    retq
;
; X64-AVX512-LABEL: trunc_ashr_v4i32_icmp_v4i32:
; X64-AVX512:       # %bb.0:
; X64-AVX512-NEXT:    vpsrad $31, %xmm0, %xmm0
; X64-AVX512-NEXT:    vpcmpgtd {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm1, %xmm1
; X64-AVX512-NEXT:    vpackssdw %xmm1, %xmm0, %xmm0
; X64-AVX512-NEXT:    retq
  %1 = ashr <4 x i32> %a, <i32 31, i32 31, i32 31, i32 31>
  %2 = icmp sgt <4 x i32> %b, <i32 1, i32 16, i32 255, i32 65535>
  %3 = sext <4 x i1> %2 to <4 x i32>
  %4 = shufflevector <4 x i32> %1, <4 x i32> %3, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
  %5 = trunc <8 x i32> %4 to <8 x i16>
  ret <8 x i16> %5
}

define <8 x i16> @trunc_ashr_v4i64_demandedelts(<4 x i64> %a0) {
; SSE2-LABEL: trunc_ashr_v4i64_demandedelts:
; SSE2:       # %bb.0:
; SSE2-NEXT:    psllq $63, %xmm0
; SSE2-NEXT:    psllq $63, %xmm1
; SSE2-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[1,1,1,1]
; SSE2-NEXT:    psrad $31, %xmm1
; SSE2-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[1,1,1,1]
; SSE2-NEXT:    psrad $31, %xmm0
; SSE2-NEXT:    packssdw %xmm1, %xmm0
; SSE2-NEXT:    ret{{[l|q]}}
;
; SSE4-LABEL: trunc_ashr_v4i64_demandedelts:
; SSE4:       # %bb.0:
; SSE4-NEXT:    psllq $63, %xmm0
; SSE4-NEXT:    pxor %xmm2, %xmm2
; SSE4-NEXT:    pxor %xmm3, %xmm3
; SSE4-NEXT:    pcmpgtq %xmm0, %xmm3
; SSE4-NEXT:    psllq $63, %xmm1
; SSE4-NEXT:    pcmpgtq %xmm1, %xmm2
; SSE4-NEXT:    pshufd {{.*#+}} xmm1 = xmm2[0,0,0,0]
; SSE4-NEXT:    pshufd {{.*#+}} xmm0 = xmm3[0,0,0,0]
; SSE4-NEXT:    packssdw %xmm1, %xmm0
; SSE4-NEXT:    ret{{[l|q]}}
;
; AVX1-LABEL: trunc_ashr_v4i64_demandedelts:
; AVX1:       # %bb.0:
; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm1
; AVX1-NEXT:    vpsllq $63, %xmm1, %xmm1
; AVX1-NEXT:    vpxor %xmm2, %xmm2, %xmm2
; AVX1-NEXT:    vpcmpgtq %xmm1, %xmm2, %xmm1
; AVX1-NEXT:    vpsllq $63, %xmm0, %xmm0
; AVX1-NEXT:    vpcmpgtq %xmm0, %xmm2, %xmm0
; AVX1-NEXT:    vinsertf128 $1, %xmm1, %ymm0, %ymm0
; AVX1-NEXT:    vshufps {{.*#+}} ymm0 = ymm0[0,0,0,0,4,4,4,4]
; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm1
; AVX1-NEXT:    vpackssdw %xmm1, %xmm0, %xmm0
; AVX1-NEXT:    vzeroupper
; AVX1-NEXT:    ret{{[l|q]}}
;
; AVX2-LABEL: trunc_ashr_v4i64_demandedelts:
; AVX2:       # %bb.0:
; AVX2-NEXT:    vpsllq $63, %ymm0, %ymm0
; AVX2-NEXT:    vpxor %xmm1, %xmm1, %xmm1
; AVX2-NEXT:    vpcmpgtq %ymm0, %ymm1, %ymm0
; AVX2-NEXT:    vpshufd {{.*#+}} ymm0 = ymm0[0,0,0,0,4,4,4,4]
; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm1
; AVX2-NEXT:    vpackssdw %xmm1, %xmm0, %xmm0
; AVX2-NEXT:    vzeroupper
; AVX2-NEXT:    ret{{[l|q]}}
;
; AVX512-LABEL: trunc_ashr_v4i64_demandedelts:
; AVX512:       # %bb.0:
; AVX512-NEXT:    vpsllq $63, %ymm0, %ymm0
; AVX512-NEXT:    vpsraq $63, %ymm0, %ymm0
; AVX512-NEXT:    vpshufd {{.*#+}} ymm0 = ymm0[0,0,0,0,4,4,4,4]
; AVX512-NEXT:    vpmovdw %ymm0, %xmm0
; AVX512-NEXT:    vzeroupper
; AVX512-NEXT:    ret{{[l|q]}}
  %1 = shl <4 x i64> %a0, <i64 63, i64 0, i64 63, i64 0>
  %2 = ashr <4 x i64> %1, <i64 63, i64 0, i64 63, i64 0>
  %3 = bitcast <4 x i64> %2 to <8 x i32>
  %4 = shufflevector <8 x i32> %3, <8 x i32> undef, <8 x i32> <i32 0, i32 0, i32 0, i32 0, i32 4, i32 4, i32 4, i32 4>
  %5 = trunc <8 x i32> %4 to <8 x i16>
  ret <8 x i16> %5
}

define <16 x i8> @packsswb_icmp_zero_128(<8 x i16> %a0) {
; SSE-LABEL: packsswb_icmp_zero_128:
; SSE:       # %bb.0:
; SSE-NEXT:    pxor %xmm1, %xmm1
; SSE-NEXT:    pcmpeqw %xmm1, %xmm0
; SSE-NEXT:    packsswb %xmm1, %xmm0
; SSE-NEXT:    ret{{[l|q]}}
;
; AVX1-LABEL: packsswb_icmp_zero_128:
; AVX1:       # %bb.0:
; AVX1-NEXT:    vpxor %xmm1, %xmm1, %xmm1
; AVX1-NEXT:    vpcmpeqw %xmm1, %xmm0, %xmm0
; AVX1-NEXT:    vpacksswb %xmm1, %xmm0, %xmm0
; AVX1-NEXT:    ret{{[l|q]}}
;
; AVX2-LABEL: packsswb_icmp_zero_128:
; AVX2:       # %bb.0:
; AVX2-NEXT:    vpxor %xmm1, %xmm1, %xmm1
; AVX2-NEXT:    vpcmpeqw %xmm1, %xmm0, %xmm0
; AVX2-NEXT:    vpacksswb %xmm1, %xmm0, %xmm0
; AVX2-NEXT:    ret{{[l|q]}}
;
; AVX512-LABEL: packsswb_icmp_zero_128:
; AVX512:       # %bb.0:
; AVX512-NEXT:    vptestnmw %xmm0, %xmm0, %k0
; AVX512-NEXT:    vpmovm2b %k0, %xmm0
; AVX512-NEXT:    vmovq {{.*#+}} xmm0 = xmm0[0],zero
; AVX512-NEXT:    ret{{[l|q]}}
  %1 = icmp eq <8 x i16> %a0, zeroinitializer
  %2 = sext <8 x i1> %1 to <8 x i8>
  %3 = shufflevector <8 x i8> %2, <8 x i8> zeroinitializer, <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>
  ret <16 x i8> %3
}

define <16 x i8> @packsswb_icmp_zero_trunc_128(<8 x i16> %a0) {
; SSE-LABEL: packsswb_icmp_zero_trunc_128:
; SSE:       # %bb.0:
; SSE-NEXT:    pxor %xmm1, %xmm1
; SSE-NEXT:    pcmpeqw %xmm1, %xmm0
; SSE-NEXT:    packsswb %xmm1, %xmm0
; SSE-NEXT:    ret{{[l|q]}}
;
; AVX-LABEL: packsswb_icmp_zero_trunc_128:
; AVX:       # %bb.0:
; AVX-NEXT:    vpxor %xmm1, %xmm1, %xmm1
; AVX-NEXT:    vpcmpeqw %xmm1, %xmm0, %xmm0
; AVX-NEXT:    vpacksswb %xmm1, %xmm0, %xmm0
; AVX-NEXT:    ret{{[l|q]}}
  %1 = icmp eq <8 x i16> %a0, zeroinitializer
  %2 = sext <8 x i1> %1 to <8 x i16>
  %3 = shufflevector <8 x i16> %2, <8 x i16> zeroinitializer, <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>
  %4 = trunc <16 x i16> %3 to <16 x i8>
  ret <16 x i8> %4
}

define <32 x i8> @packsswb_icmp_zero_256(<16 x i16> %a0) {
; SSE-LABEL: packsswb_icmp_zero_256:
; SSE:       # %bb.0:
; SSE-NEXT:    pxor %xmm2, %xmm2
; SSE-NEXT:    pcmpeqw %xmm2, %xmm1
; SSE-NEXT:    pcmpeqw %xmm2, %xmm0
; SSE-NEXT:    pxor %xmm3, %xmm3
; SSE-NEXT:    packsswb %xmm0, %xmm3
; SSE-NEXT:    packsswb %xmm1, %xmm2
; SSE-NEXT:    movdqa %xmm3, %xmm0
; SSE-NEXT:    movdqa %xmm2, %xmm1
; SSE-NEXT:    ret{{[l|q]}}
;
; AVX1-LABEL: packsswb_icmp_zero_256:
; AVX1:       # %bb.0:
; AVX1-NEXT:    vpxor %xmm1, %xmm1, %xmm1
; AVX1-NEXT:    vpcmpeqw %xmm1, %xmm0, %xmm2
; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm0
; AVX1-NEXT:    vpcmpeqw %xmm1, %xmm0, %xmm0
; AVX1-NEXT:    vpacksswb %xmm0, %xmm1, %xmm0
; AVX1-NEXT:    vpacksswb %xmm2, %xmm1, %xmm1
; AVX1-NEXT:    vinsertf128 $1, %xmm0, %ymm1, %ymm0
; AVX1-NEXT:    ret{{[l|q]}}
;
; AVX2-LABEL: packsswb_icmp_zero_256:
; AVX2:       # %bb.0:
; AVX2-NEXT:    vpxor %xmm1, %xmm1, %xmm1
; AVX2-NEXT:    vpcmpeqw %ymm1, %ymm0, %ymm0
; AVX2-NEXT:    vpacksswb %ymm0, %ymm1, %ymm0
; AVX2-NEXT:    ret{{[l|q]}}
;
; AVX512-LABEL: packsswb_icmp_zero_256:
; AVX512:       # %bb.0:
; AVX512-NEXT:    vpxor %xmm1, %xmm1, %xmm1
; AVX512-NEXT:    vpcmpeqw %ymm1, %ymm0, %ymm0
; AVX512-NEXT:    vpacksswb %ymm0, %ymm1, %ymm0
; AVX512-NEXT:    ret{{[l|q]}}
  %1 = icmp eq <16 x i16> %a0, zeroinitializer
  %2 = sext <16 x i1> %1 to <16 x i16>
  %3 = bitcast <16 x i16> %2 to <32 x i8>
  %4 = shufflevector <32 x i8> zeroinitializer, <32 x i8> %3, <32 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 32, i32 34, i32 36, i32 38, i32 40, i32 42, i32 44, i32 46, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 48, i32 50, i32 52, i32 54, i32 56, i32 58, i32 60, i32 62>
  ret <32 x i8> %4
}

define <32 x i8> @packsswb_icmp_zero_trunc_256(<16 x i16> %a0) {
; SSE-LABEL: packsswb_icmp_zero_trunc_256:
; SSE:       # %bb.0:
; SSE-NEXT:    pxor %xmm2, %xmm2
; SSE-NEXT:    pcmpeqw %xmm2, %xmm1
; SSE-NEXT:    pcmpeqw %xmm2, %xmm0
; SSE-NEXT:    pxor %xmm3, %xmm3
; SSE-NEXT:    packsswb %xmm0, %xmm3
; SSE-NEXT:    packsswb %xmm1, %xmm2
; SSE-NEXT:    movdqa %xmm3, %xmm0
; SSE-NEXT:    movdqa %xmm2, %xmm1
; SSE-NEXT:    ret{{[l|q]}}
;
; AVX1-LABEL: packsswb_icmp_zero_trunc_256:
; AVX1:       # %bb.0:
; AVX1-NEXT:    vpxor %xmm1, %xmm1, %xmm1
; AVX1-NEXT:    vpcmpeqw %xmm1, %xmm0, %xmm2
; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm0
; AVX1-NEXT:    vpcmpeqw %xmm1, %xmm0, %xmm0
; AVX1-NEXT:    vpacksswb %xmm0, %xmm1, %xmm0
; AVX1-NEXT:    vpacksswb %xmm2, %xmm1, %xmm1
; AVX1-NEXT:    vinsertf128 $1, %xmm0, %ymm1, %ymm0
; AVX1-NEXT:    ret{{[l|q]}}
;
; AVX2-LABEL: packsswb_icmp_zero_trunc_256:
; AVX2:       # %bb.0:
; AVX2-NEXT:    vpxor %xmm1, %xmm1, %xmm1
; AVX2-NEXT:    vpcmpeqw %ymm1, %ymm0, %ymm0
; AVX2-NEXT:    vpacksswb %ymm0, %ymm1, %ymm0
; AVX2-NEXT:    vpermq {{.*#+}} ymm0 = ymm0[0,1,0,3]
; AVX2-NEXT:    ret{{[l|q]}}
;
; AVX512-LABEL: packsswb_icmp_zero_trunc_256:
; AVX512:       # %bb.0:
; AVX512-NEXT:    vpxor %xmm1, %xmm1, %xmm1
; AVX512-NEXT:    vpcmpeqw %ymm1, %ymm0, %ymm0
; AVX512-NEXT:    movb $-52, %al
; AVX512-NEXT:    kmovd %eax, %k1
; AVX512-NEXT:    vpexpandq %zmm0, %zmm0 {%k1} {z}
; AVX512-NEXT:    vpmovwb %zmm0, %ymm0
; AVX512-NEXT:    ret{{[l|q]}}
  %1 = icmp eq <16 x i16> %a0, zeroinitializer
  %2 = sext <16 x i1> %1 to <16 x i16>
  %3 = shufflevector <16 x i16> zeroinitializer, <16 x i16> %2, <32 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31>
  %4 = trunc <32 x i16> %3 to <32 x i8>
  ret <32 x i8> %4
}

define <16 x i8> @_mm_packss_epi16_manual(<8 x i16> %a, <8 x i16> %b) nounwind {
; SSE-LABEL: _mm_packss_epi16_manual:
; SSE:       # %bb.0:
; SSE-NEXT:    packsswb %xmm1, %xmm0
; SSE-NEXT:    ret{{[l|q]}}
;
; AVX-LABEL: _mm_packss_epi16_manual:
; AVX:       # %bb.0:
; AVX-NEXT:    vpacksswb %xmm1, %xmm0, %xmm0
; AVX-NEXT:    ret{{[l|q]}}
  %sh   = shufflevector <8 x i16> %a, <8 x i16> %b, <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>
  %minv = tail call <16 x i16> @llvm.smax.v16i16(<16 x i16> %sh, <16 x i16> splat (i16 -128))
  %sat  = tail call <16 x i16> @llvm.smin.v16i16(<16 x i16> %minv, <16 x i16> splat (i16 127))
  %tr   = trunc <16 x i16> %sat to <16 x i8>
  ret <16 x i8> %tr
}

define <32 x i8> @_mm256_packss_epi16_manual(<16 x i16> %a, <16 x i16> %b) nounwind {
; X86-SSE-LABEL: _mm256_packss_epi16_manual:
; X86-SSE:       # %bb.0:
; X86-SSE-NEXT:    pushl %ebp
; X86-SSE-NEXT:    movl %esp, %ebp
; X86-SSE-NEXT:    andl $-16, %esp
; X86-SSE-NEXT:    subl $16, %esp
; X86-SSE-NEXT:    packsswb %xmm2, %xmm0
; X86-SSE-NEXT:    packsswb 8(%ebp), %xmm1
; X86-SSE-NEXT:    movl %ebp, %esp
; X86-SSE-NEXT:    popl %ebp
; X86-SSE-NEXT:    retl
;
; AVX1-LABEL: _mm256_packss_epi16_manual:
; AVX1:       # %bb.0:
; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm2
; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm3
; AVX1-NEXT:    vpacksswb %xmm3, %xmm2, %xmm2
; AVX1-NEXT:    vpacksswb %xmm1, %xmm0, %xmm0
; AVX1-NEXT:    vinsertf128 $1, %xmm2, %ymm0, %ymm0
; AVX1-NEXT:    ret{{[l|q]}}
;
; AVX2-LABEL: _mm256_packss_epi16_manual:
; AVX2:       # %bb.0:
; AVX2-NEXT:    vpacksswb %ymm1, %ymm0, %ymm0
; AVX2-NEXT:    ret{{[l|q]}}
;
; AVX512-LABEL: _mm256_packss_epi16_manual:
; AVX512:       # %bb.0:
; AVX512-NEXT:    vpacksswb %ymm1, %ymm0, %ymm0
; AVX512-NEXT:    ret{{[l|q]}}
;
; X64-SSE-LABEL: _mm256_packss_epi16_manual:
; X64-SSE:       # %bb.0:
; X64-SSE-NEXT:    packsswb %xmm2, %xmm0
; X64-SSE-NEXT:    packsswb %xmm3, %xmm1
; X64-SSE-NEXT:    retq
  %sh   = shufflevector <16 x i16> %a, <16 x i16> %b, <32 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31>
  %minv = tail call <32 x i16> @llvm.smax.v32i16(<32 x i16> %sh, <32 x i16> splat (i16 -128))
  %sat  = tail call <32 x i16> @llvm.smin.v32i16(<32 x i16> %minv, <32 x i16> splat (i16 127))
  %tr   = trunc <32 x i16> %sat to <32 x i8>
  ret <32 x i8> %tr
}

define <64 x i8> @_mm512_packss_epi16_manual(<32 x i16> %a, <32 x i16> %b) nounwind {
; X86-SSE-LABEL: _mm512_packss_epi16_manual:
; X86-SSE:       # %bb.0:
; X86-SSE-NEXT:    pushl %ebp
; X86-SSE-NEXT:    movl %esp, %ebp
; X86-SSE-NEXT:    andl $-16, %esp
; X86-SSE-NEXT:    subl $16, %esp
; X86-SSE-NEXT:    movdqa 8(%ebp), %xmm3
; X86-SSE-NEXT:    packsswb 24(%ebp), %xmm0
; X86-SSE-NEXT:    packsswb 40(%ebp), %xmm1
; X86-SSE-NEXT:    packsswb 56(%ebp), %xmm2
; X86-SSE-NEXT:    packsswb 72(%ebp), %xmm3
; X86-SSE-NEXT:    movl %ebp, %esp
; X86-SSE-NEXT:    popl %ebp
; X86-SSE-NEXT:    retl
;
; X86-AVX1-LABEL: _mm512_packss_epi16_manual:
; X86-AVX1:       # %bb.0:
; X86-AVX1-NEXT:    pushl %ebp
; X86-AVX1-NEXT:    movl %esp, %ebp
; X86-AVX1-NEXT:    andl $-32, %esp
; X86-AVX1-NEXT:    subl $32, %esp
; X86-AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm3
; X86-AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm4
; X86-AVX1-NEXT:    vextractf128 $1, %ymm2, %xmm5
; X86-AVX1-NEXT:    vpacksswb %xmm5, %xmm4, %xmm4
; X86-AVX1-NEXT:    vpacksswb %xmm2, %xmm0, %xmm0
; X86-AVX1-NEXT:    vinsertf128 $1, %xmm4, %ymm0, %ymm0
; X86-AVX1-NEXT:    vpacksswb 8(%ebp), %xmm1, %xmm1
; X86-AVX1-NEXT:    vpacksswb 24(%ebp), %xmm3, %xmm2
; X86-AVX1-NEXT:    vinsertf128 $1, %xmm2, %ymm1, %ymm1
; X86-AVX1-NEXT:    movl %ebp, %esp
; X86-AVX1-NEXT:    popl %ebp
; X86-AVX1-NEXT:    retl
;
; X86-AVX2-LABEL: _mm512_packss_epi16_manual:
; X86-AVX2:       # %bb.0:
; X86-AVX2-NEXT:    pushl %ebp
; X86-AVX2-NEXT:    movl %esp, %ebp
; X86-AVX2-NEXT:    andl $-32, %esp
; X86-AVX2-NEXT:    subl $32, %esp
; X86-AVX2-NEXT:    vpacksswb %ymm2, %ymm0, %ymm0
; X86-AVX2-NEXT:    vpacksswb 8(%ebp), %ymm1, %ymm1
; X86-AVX2-NEXT:    movl %ebp, %esp
; X86-AVX2-NEXT:    popl %ebp
; X86-AVX2-NEXT:    retl
;
; AVX512-LABEL: _mm512_packss_epi16_manual:
; AVX512:       # %bb.0:
; AVX512-NEXT:    vpacksswb %zmm1, %zmm0, %zmm0
; AVX512-NEXT:    ret{{[l|q]}}
;
; X64-SSE-LABEL: _mm512_packss_epi16_manual:
; X64-SSE:       # %bb.0:
; X64-SSE-NEXT:    packsswb %xmm4, %xmm0
; X64-SSE-NEXT:    packsswb %xmm5, %xmm1
; X64-SSE-NEXT:    packsswb %xmm6, %xmm2
; X64-SSE-NEXT:    packsswb %xmm7, %xmm3
; X64-SSE-NEXT:    retq
;
; X64-AVX1-LABEL: _mm512_packss_epi16_manual:
; X64-AVX1:       # %bb.0:
; X64-AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm4
; X64-AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm5
; X64-AVX1-NEXT:    vextractf128 $1, %ymm2, %xmm6
; X64-AVX1-NEXT:    vpacksswb %xmm6, %xmm5, %xmm5
; X64-AVX1-NEXT:    vpacksswb %xmm2, %xmm0, %xmm0
; X64-AVX1-NEXT:    vinsertf128 $1, %xmm5, %ymm0, %ymm0
; X64-AVX1-NEXT:    vextractf128 $1, %ymm3, %xmm2
; X64-AVX1-NEXT:    vpacksswb %xmm2, %xmm4, %xmm2
; X64-AVX1-NEXT:    vpacksswb %xmm3, %xmm1, %xmm1
; X64-AVX1-NEXT:    vinsertf128 $1, %xmm2, %ymm1, %ymm1
; X64-AVX1-NEXT:    retq
;
; X64-AVX2-LABEL: _mm512_packss_epi16_manual:
; X64-AVX2:       # %bb.0:
; X64-AVX2-NEXT:    vpacksswb %ymm2, %ymm0, %ymm0
; X64-AVX2-NEXT:    vpacksswb %ymm3, %ymm1, %ymm1
; X64-AVX2-NEXT:    retq
  %sh   = shufflevector <32 x i16> %a, <32 x i16> %b, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63>
  %minv = tail call <64 x i16> @llvm.smax.v64i16(<64 x i16> %sh, <64 x i16> splat (i16 -128))
  %sat  = tail call <64 x i16> @llvm.smin.v64i16(<64 x i16> %minv, <64 x i16> splat (i16 127))
  %tr   = trunc <64 x i16> %sat to <64 x i8>
  ret <64 x i8> %tr
}

define <8 x i16> @_mm_packss_epi32_manual(<4 x i32> %a, <4 x i32> %b) nounwind {
; SSE-LABEL: _mm_packss_epi32_manual:
; SSE:       # %bb.0:
; SSE-NEXT:    packssdw %xmm1, %xmm0
; SSE-NEXT:    ret{{[l|q]}}
;
; AVX-LABEL: _mm_packss_epi32_manual:
; AVX:       # %bb.0:
; AVX-NEXT:    vpackssdw %xmm1, %xmm0, %xmm0
; AVX-NEXT:    ret{{[l|q]}}
  %sh   = shufflevector <4 x i32> %a, <4 x i32> %b, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
  %minv = tail call <8 x i32> @llvm.smax.v8i32(<8 x i32> %sh, <8 x i32> splat (i32 -32768))
  %sat  = tail call <8 x i32> @llvm.smin.v8i32(<8 x i32> %minv, <8 x i32> splat (i32 32767))
  %tr   = trunc <8 x i32> %sat to <8 x i16>
  ret <8 x i16> %tr
}

define <16 x i16> @_mm256_packss_epi32_manual(<8 x i32> %a, <8 x i32> %b) nounwind {
; X86-SSE-LABEL: _mm256_packss_epi32_manual:
; X86-SSE:       # %bb.0:
; X86-SSE-NEXT:    pushl %ebp
; X86-SSE-NEXT:    movl %esp, %ebp
; X86-SSE-NEXT:    andl $-16, %esp
; X86-SSE-NEXT:    subl $16, %esp
; X86-SSE-NEXT:    packssdw %xmm2, %xmm0
; X86-SSE-NEXT:    packssdw 8(%ebp), %xmm1
; X86-SSE-NEXT:    movl %ebp, %esp
; X86-SSE-NEXT:    popl %ebp
; X86-SSE-NEXT:    retl
;
; AVX1-LABEL: _mm256_packss_epi32_manual:
; AVX1:       # %bb.0:
; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm2
; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm3
; AVX1-NEXT:    vpackssdw %xmm3, %xmm2, %xmm2
; AVX1-NEXT:    vpackssdw %xmm1, %xmm0, %xmm0
; AVX1-NEXT:    vinsertf128 $1, %xmm2, %ymm0, %ymm0
; AVX1-NEXT:    ret{{[l|q]}}
;
; AVX2-LABEL: _mm256_packss_epi32_manual:
; AVX2:       # %bb.0:
; AVX2-NEXT:    vpackssdw %ymm1, %ymm0, %ymm0
; AVX2-NEXT:    ret{{[l|q]}}
;
; AVX512-LABEL: _mm256_packss_epi32_manual:
; AVX512:       # %bb.0:
; AVX512-NEXT:    vpackssdw %ymm1, %ymm0, %ymm0
; AVX512-NEXT:    ret{{[l|q]}}
;
; X64-SSE-LABEL: _mm256_packss_epi32_manual:
; X64-SSE:       # %bb.0:
; X64-SSE-NEXT:    packssdw %xmm2, %xmm0
; X64-SSE-NEXT:    packssdw %xmm3, %xmm1
; X64-SSE-NEXT:    retq
  %sh   = shufflevector <8 x i32> %a, <8 x i32> %b, <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 8, i32 9, i32 10, i32 11, i32 4, i32 5, i32 6, i32 7, i32 12, i32 13, i32 14, i32 15>
  %minv = tail call <16 x i32> @llvm.smax.v16i32(<16 x i32> %sh, <16 x i32> splat (i32 -32768))
  %sat  = tail call <16 x i32> @llvm.smin.v16i32(<16 x i32> %minv, <16 x i32> splat (i32 32767))
  %tr   = trunc <16 x i32> %sat to <16 x i16>
  ret <16 x i16> %tr
}

define <32 x i16> @_mm512_packss_epi32_manual(<16 x i32> %a, <16 x i32> %b) nounwind {
; X86-SSE-LABEL: _mm512_packss_epi32_manual:
; X86-SSE:       # %bb.0:
; X86-SSE-NEXT:    pushl %ebp
; X86-SSE-NEXT:    movl %esp, %ebp
; X86-SSE-NEXT:    andl $-16, %esp
; X86-SSE-NEXT:    subl $16, %esp
; X86-SSE-NEXT:    movdqa 8(%ebp), %xmm3
; X86-SSE-NEXT:    packssdw 24(%ebp), %xmm0
; X86-SSE-NEXT:    packssdw 40(%ebp), %xmm1
; X86-SSE-NEXT:    packssdw 56(%ebp), %xmm2
; X86-SSE-NEXT:    packssdw 72(%ebp), %xmm3
; X86-SSE-NEXT:    movl %ebp, %esp
; X86-SSE-NEXT:    popl %ebp
; X86-SSE-NEXT:    retl
;
; X86-AVX1-LABEL: _mm512_packss_epi32_manual:
; X86-AVX1:       # %bb.0:
; X86-AVX1-NEXT:    pushl %ebp
; X86-AVX1-NEXT:    movl %esp, %ebp
; X86-AVX1-NEXT:    andl $-32, %esp
; X86-AVX1-NEXT:    subl $32, %esp
; X86-AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm3
; X86-AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm4
; X86-AVX1-NEXT:    vextractf128 $1, %ymm2, %xmm5
; X86-AVX1-NEXT:    vpackssdw %xmm5, %xmm4, %xmm4
; X86-AVX1-NEXT:    vpackssdw %xmm2, %xmm0, %xmm0
; X86-AVX1-NEXT:    vinsertf128 $1, %xmm4, %ymm0, %ymm0
; X86-AVX1-NEXT:    vpackssdw 8(%ebp), %xmm1, %xmm1
; X86-AVX1-NEXT:    vpackssdw 24(%ebp), %xmm3, %xmm2
; X86-AVX1-NEXT:    vinsertf128 $1, %xmm2, %ymm1, %ymm1
; X86-AVX1-NEXT:    movl %ebp, %esp
; X86-AVX1-NEXT:    popl %ebp
; X86-AVX1-NEXT:    retl
;
; X86-AVX2-LABEL: _mm512_packss_epi32_manual:
; X86-AVX2:       # %bb.0:
; X86-AVX2-NEXT:    pushl %ebp
; X86-AVX2-NEXT:    movl %esp, %ebp
; X86-AVX2-NEXT:    andl $-32, %esp
; X86-AVX2-NEXT:    subl $32, %esp
; X86-AVX2-NEXT:    vpackssdw %ymm2, %ymm0, %ymm0
; X86-AVX2-NEXT:    vpackssdw 8(%ebp), %ymm1, %ymm1
; X86-AVX2-NEXT:    movl %ebp, %esp
; X86-AVX2-NEXT:    popl %ebp
; X86-AVX2-NEXT:    retl
;
; AVX512-LABEL: _mm512_packss_epi32_manual:
; AVX512:       # %bb.0:
; AVX512-NEXT:    vpackssdw %zmm1, %zmm0, %zmm0
; AVX512-NEXT:    ret{{[l|q]}}
;
; X64-SSE-LABEL: _mm512_packss_epi32_manual:
; X64-SSE:       # %bb.0:
; X64-SSE-NEXT:    packssdw %xmm4, %xmm0
; X64-SSE-NEXT:    packssdw %xmm5, %xmm1
; X64-SSE-NEXT:    packssdw %xmm6, %xmm2
; X64-SSE-NEXT:    packssdw %xmm7, %xmm3
; X64-SSE-NEXT:    retq
;
; X64-AVX1-LABEL: _mm512_packss_epi32_manual:
; X64-AVX1:       # %bb.0:
; X64-AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm4
; X64-AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm5
; X64-AVX1-NEXT:    vextractf128 $1, %ymm2, %xmm6
; X64-AVX1-NEXT:    vpackssdw %xmm6, %xmm5, %xmm5
; X64-AVX1-NEXT:    vpackssdw %xmm2, %xmm0, %xmm0
; X64-AVX1-NEXT:    vinsertf128 $1, %xmm5, %ymm0, %ymm0
; X64-AVX1-NEXT:    vextractf128 $1, %ymm3, %xmm2
; X64-AVX1-NEXT:    vpackssdw %xmm2, %xmm4, %xmm2
; X64-AVX1-NEXT:    vpackssdw %xmm3, %xmm1, %xmm1
; X64-AVX1-NEXT:    vinsertf128 $1, %xmm2, %ymm1, %ymm1
; X64-AVX1-NEXT:    retq
;
; X64-AVX2-LABEL: _mm512_packss_epi32_manual:
; X64-AVX2:       # %bb.0:
; X64-AVX2-NEXT:    vpackssdw %ymm2, %ymm0, %ymm0
; X64-AVX2-NEXT:    vpackssdw %ymm3, %ymm1, %ymm1
; X64-AVX2-NEXT:    retq
  %sh   = shufflevector <16 x i32> %a, <16 x i32> %b, <32 x i32> <i32 0, i32 1, i32 2, i32 3, i32 16, i32 17, i32 18, i32 19, i32 4, i32 5, i32 6, i32 7, i32 20, i32 21, i32 22, i32 23, i32 8, i32 9, i32 10, i32 11, i32 24, i32 25, i32 26, i32 27, i32 12, i32 13, i32 14, i32 15, i32 28, i32 29, i32 30, i32 31>
  %minv = tail call <32 x i32> @llvm.smax.v32i32(<32 x i32> %sh, <32 x i32> splat (i32 -32768))
  %sat  = tail call <32 x i32> @llvm.smin.v32i32(<32 x i32> %minv, <32 x i32> splat (i32 32767))
  %tr   = trunc <32 x i32> %sat to <32 x i16>
  ret <32 x i16> %tr
}
