; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=skx | FileCheck %s --check-prefix=CHECK --check-prefix=VLX
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=knl | FileCheck %s --check-prefix=CHECK --check-prefix=NoVLX

define <4 x i64> @test256_1(<4 x i64> %x, <4 x i64> %y) nounwind {
; VLX-LABEL: test256_1:
; VLX:       # BB#0:
; VLX-NEXT:    vpcmpeqq %ymm1, %ymm0, %k1
; VLX-NEXT:    vpblendmq %ymm0, %ymm1, %ymm0 {%k1}
; VLX-NEXT:    retq
;
; NoVLX-LABEL: test256_1:
; NoVLX:       # BB#0:
; NoVLX-NEXT:    vpcmpeqq %ymm1, %ymm0, %ymm2
; NoVLX-NEXT:    vblendvpd %ymm2, %ymm0, %ymm1, %ymm0
; NoVLX-NEXT:    retq
  %mask = icmp eq <4 x i64> %x, %y
  %max = select <4 x i1> %mask, <4 x i64> %x, <4 x i64> %y
  ret <4 x i64> %max
}

define <4 x i64> @test256_2(<4 x i64> %x, <4 x i64> %y, <4 x i64> %x1) nounwind {
; VLX-LABEL: test256_2:
; VLX:       # BB#0:
; VLX-NEXT:    vpcmpgtq %ymm1, %ymm0, %k1
; VLX-NEXT:    vpblendmq %ymm2, %ymm1, %ymm0 {%k1}
; VLX-NEXT:    retq
;
; NoVLX-LABEL: test256_2:
; NoVLX:       # BB#0:
; NoVLX-NEXT:    vpcmpgtq %ymm1, %ymm0, %ymm0
; NoVLX-NEXT:    vblendvpd %ymm0, %ymm2, %ymm1, %ymm0
; NoVLX-NEXT:    retq
  %mask = icmp sgt <4 x i64> %x, %y
  %max = select <4 x i1> %mask, <4 x i64> %x1, <4 x i64> %y
  ret <4 x i64> %max
}

define <8 x i32> @test256_3(<8 x i32> %x, <8 x i32> %y, <8 x i32> %x1) nounwind {
; VLX-LABEL: test256_3:
; VLX:       # BB#0:
; VLX-NEXT:    vpcmpled %ymm0, %ymm1, %k1
; VLX-NEXT:    vpblendmd %ymm2, %ymm1, %ymm0 {%k1}
; VLX-NEXT:    retq
;
; NoVLX-LABEL: test256_3:
; NoVLX:       # BB#0:
; NoVLX-NEXT:    # kill: %YMM2<def> %YMM2<kill> %ZMM2<def>
; NoVLX-NEXT:    # kill: %YMM1<def> %YMM1<kill> %ZMM1<def>
; NoVLX-NEXT:    # kill: %YMM0<def> %YMM0<kill> %ZMM0<def>
; NoVLX-NEXT:    vpcmpled %zmm0, %zmm1, %k1
; NoVLX-NEXT:    vpblendmd %zmm2, %zmm1, %zmm0 {%k1}
; NoVLX-NEXT:    # kill: %YMM0<def> %YMM0<kill> %ZMM0<kill>
; NoVLX-NEXT:    retq
  %mask = icmp sge <8 x i32> %x, %y
  %max = select <8 x i1> %mask, <8 x i32> %x1, <8 x i32> %y
  ret <8 x i32> %max
}

define <4 x i64> @test256_4(<4 x i64> %x, <4 x i64> %y, <4 x i64> %x1) nounwind {
; VLX-LABEL: test256_4:
; VLX:       # BB#0:
; VLX-NEXT:    vpcmpnleuq %ymm1, %ymm0, %k1
; VLX-NEXT:    vpblendmq %ymm2, %ymm1, %ymm0 {%k1}
; VLX-NEXT:    retq
;
; NoVLX-LABEL: test256_4:
; NoVLX:       # BB#0:
; NoVLX-NEXT:    vpbroadcastq {{.*#+}} ymm3 = [9223372036854775808,9223372036854775808,9223372036854775808,9223372036854775808]
; NoVLX-NEXT:    vpxor %ymm3, %ymm1, %ymm4
; NoVLX-NEXT:    vpxor %ymm3, %ymm0, %ymm0
; NoVLX-NEXT:    vpcmpgtq %ymm4, %ymm0, %ymm0
; NoVLX-NEXT:    vblendvpd %ymm0, %ymm2, %ymm1, %ymm0
; NoVLX-NEXT:    retq
  %mask = icmp ugt <4 x i64> %x, %y
  %max = select <4 x i1> %mask, <4 x i64> %x1, <4 x i64> %y
  ret <4 x i64> %max
}

define <8 x i32> @test256_5(<8 x i32> %x, <8 x i32> %x1, <8 x i32>* %yp) nounwind {
; VLX-LABEL: test256_5:
; VLX:       # BB#0:
; VLX-NEXT:    vpcmpeqd (%rdi), %ymm0, %k1
; VLX-NEXT:    vpblendmd %ymm0, %ymm1, %ymm0 {%k1}
; VLX-NEXT:    retq
;
; NoVLX-LABEL: test256_5:
; NoVLX:       # BB#0:
; NoVLX-NEXT:    # kill: %YMM1<def> %YMM1<kill> %ZMM1<def>
; NoVLX-NEXT:    # kill: %YMM0<def> %YMM0<kill> %ZMM0<def>
; NoVLX-NEXT:    vmovdqu (%rdi), %ymm2
; NoVLX-NEXT:    vpcmpeqd %zmm2, %zmm0, %k1
; NoVLX-NEXT:    vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
; NoVLX-NEXT:    # kill: %YMM0<def> %YMM0<kill> %ZMM0<kill>
; NoVLX-NEXT:    retq
  %y = load <8 x i32>, <8 x i32>* %yp, align 4
  %mask = icmp eq <8 x i32> %x, %y
  %max = select <8 x i1> %mask, <8 x i32> %x, <8 x i32> %x1
  ret <8 x i32> %max
}

define <8 x i32> @test256_5b(<8 x i32> %x, <8 x i32> %x1, <8 x i32>* %yp) nounwind {
; VLX-LABEL: test256_5b:
; VLX:       # BB#0:
; VLX-NEXT:    vpcmpeqd (%rdi), %ymm0, %k1
; VLX-NEXT:    vpblendmd %ymm0, %ymm1, %ymm0 {%k1}
; VLX-NEXT:    retq
;
; NoVLX-LABEL: test256_5b:
; NoVLX:       # BB#0:
; NoVLX-NEXT:    # kill: %YMM1<def> %YMM1<kill> %ZMM1<def>
; NoVLX-NEXT:    # kill: %YMM0<def> %YMM0<kill> %ZMM0<def>
; NoVLX-NEXT:    vmovdqu (%rdi), %ymm2
; NoVLX-NEXT:    vpcmpeqd %zmm0, %zmm2, %k1
; NoVLX-NEXT:    vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
; NoVLX-NEXT:    # kill: %YMM0<def> %YMM0<kill> %ZMM0<kill>
; NoVLX-NEXT:    retq
  %y = load <8 x i32>, <8 x i32>* %yp, align 4
  %mask = icmp eq <8 x i32> %y, %x
  %max = select <8 x i1> %mask, <8 x i32> %x, <8 x i32> %x1
  ret <8 x i32> %max
}

define <8 x i32> @test256_6(<8 x i32> %x, <8 x i32> %x1, <8 x i32>* %y.ptr) nounwind {
; VLX-LABEL: test256_6:
; VLX:       # BB#0:
; VLX-NEXT:    vpcmpgtd (%rdi), %ymm0, %k1
; VLX-NEXT:    vpblendmd %ymm0, %ymm1, %ymm0 {%k1}
; VLX-NEXT:    retq
;
; NoVLX-LABEL: test256_6:
; NoVLX:       # BB#0:
; NoVLX-NEXT:    # kill: %YMM1<def> %YMM1<kill> %ZMM1<def>
; NoVLX-NEXT:    # kill: %YMM0<def> %YMM0<kill> %ZMM0<def>
; NoVLX-NEXT:    vmovdqu (%rdi), %ymm2
; NoVLX-NEXT:    vpcmpgtd %zmm2, %zmm0, %k1
; NoVLX-NEXT:    vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
; NoVLX-NEXT:    # kill: %YMM0<def> %YMM0<kill> %ZMM0<kill>
; NoVLX-NEXT:    retq
  %y = load <8 x i32>, <8 x i32>* %y.ptr, align 4
  %mask = icmp sgt <8 x i32> %x, %y
  %max = select <8 x i1> %mask, <8 x i32> %x, <8 x i32> %x1
  ret <8 x i32> %max
}

define <8 x i32> @test256_6b(<8 x i32> %x, <8 x i32> %x1, <8 x i32>* %y.ptr) nounwind {
; VLX-LABEL: test256_6b:
; VLX:       # BB#0:
; VLX-NEXT:    vpcmpgtd (%rdi), %ymm0, %k1
; VLX-NEXT:    vpblendmd %ymm0, %ymm1, %ymm0 {%k1}
; VLX-NEXT:    retq
;
; NoVLX-LABEL: test256_6b:
; NoVLX:       # BB#0:
; NoVLX-NEXT:    # kill: %YMM1<def> %YMM1<kill> %ZMM1<def>
; NoVLX-NEXT:    # kill: %YMM0<def> %YMM0<kill> %ZMM0<def>
; NoVLX-NEXT:    vmovdqu (%rdi), %ymm2
; NoVLX-NEXT:    vpcmpgtd %zmm2, %zmm0, %k1
; NoVLX-NEXT:    vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
; NoVLX-NEXT:    # kill: %YMM0<def> %YMM0<kill> %ZMM0<kill>
; NoVLX-NEXT:    retq
  %y = load <8 x i32>, <8 x i32>* %y.ptr, align 4
  %mask = icmp slt <8 x i32> %y, %x
  %max = select <8 x i1> %mask, <8 x i32> %x, <8 x i32> %x1
  ret <8 x i32> %max
}

define <8 x i32> @test256_7(<8 x i32> %x, <8 x i32> %x1, <8 x i32>* %y.ptr) nounwind {
; VLX-LABEL: test256_7:
; VLX:       # BB#0:
; VLX-NEXT:    vpcmpled (%rdi), %ymm0, %k1
; VLX-NEXT:    vpblendmd %ymm0, %ymm1, %ymm0 {%k1}
; VLX-NEXT:    retq
;
; NoVLX-LABEL: test256_7:
; NoVLX:       # BB#0:
; NoVLX-NEXT:    # kill: %YMM1<def> %YMM1<kill> %ZMM1<def>
; NoVLX-NEXT:    # kill: %YMM0<def> %YMM0<kill> %ZMM0<def>
; NoVLX-NEXT:    vmovdqu (%rdi), %ymm2
; NoVLX-NEXT:    vpcmpled %zmm2, %zmm0, %k1
; NoVLX-NEXT:    vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
; NoVLX-NEXT:    # kill: %YMM0<def> %YMM0<kill> %ZMM0<kill>
; NoVLX-NEXT:    retq
  %y = load <8 x i32>, <8 x i32>* %y.ptr, align 4
  %mask = icmp sle <8 x i32> %x, %y
  %max = select <8 x i1> %mask, <8 x i32> %x, <8 x i32> %x1
  ret <8 x i32> %max
}

define <8 x i32> @test256_7b(<8 x i32> %x, <8 x i32> %x1, <8 x i32>* %y.ptr) nounwind {
; VLX-LABEL: test256_7b:
; VLX:       # BB#0:
; VLX-NEXT:    vpcmpled (%rdi), %ymm0, %k1
; VLX-NEXT:    vpblendmd %ymm0, %ymm1, %ymm0 {%k1}
; VLX-NEXT:    retq
;
; NoVLX-LABEL: test256_7b:
; NoVLX:       # BB#0:
; NoVLX-NEXT:    # kill: %YMM1<def> %YMM1<kill> %ZMM1<def>
; NoVLX-NEXT:    # kill: %YMM0<def> %YMM0<kill> %ZMM0<def>
; NoVLX-NEXT:    vmovdqu (%rdi), %ymm2
; NoVLX-NEXT:    vpcmpled %zmm2, %zmm0, %k1
; NoVLX-NEXT:    vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
; NoVLX-NEXT:    # kill: %YMM0<def> %YMM0<kill> %ZMM0<kill>
; NoVLX-NEXT:    retq
  %y = load <8 x i32>, <8 x i32>* %y.ptr, align 4
  %mask = icmp sge <8 x i32> %y, %x
  %max = select <8 x i1> %mask, <8 x i32> %x, <8 x i32> %x1
  ret <8 x i32> %max
}

define <8 x i32> @test256_8(<8 x i32> %x, <8 x i32> %x1, <8 x i32>* %y.ptr) nounwind {
; VLX-LABEL: test256_8:
; VLX:       # BB#0:
; VLX-NEXT:    vpcmpleud (%rdi), %ymm0, %k1
; VLX-NEXT:    vpblendmd %ymm0, %ymm1, %ymm0 {%k1}
; VLX-NEXT:    retq
;
; NoVLX-LABEL: test256_8:
; NoVLX:       # BB#0:
; NoVLX-NEXT:    # kill: %YMM1<def> %YMM1<kill> %ZMM1<def>
; NoVLX-NEXT:    # kill: %YMM0<def> %YMM0<kill> %ZMM0<def>
; NoVLX-NEXT:    vmovdqu (%rdi), %ymm2
; NoVLX-NEXT:    vpcmpleud %zmm2, %zmm0, %k1
; NoVLX-NEXT:    vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
; NoVLX-NEXT:    # kill: %YMM0<def> %YMM0<kill> %ZMM0<kill>
; NoVLX-NEXT:    retq
  %y = load <8 x i32>, <8 x i32>* %y.ptr, align 4
  %mask = icmp ule <8 x i32> %x, %y
  %max = select <8 x i1> %mask, <8 x i32> %x, <8 x i32> %x1
  ret <8 x i32> %max
}

define <8 x i32> @test256_8b(<8 x i32> %x, <8 x i32> %x1, <8 x i32>* %y.ptr) nounwind {
; VLX-LABEL: test256_8b:
; VLX:       # BB#0:
; VLX-NEXT:    vpcmpleud (%rdi), %ymm0, %k1
; VLX-NEXT:    vpblendmd %ymm0, %ymm1, %ymm0 {%k1}
; VLX-NEXT:    retq
;
; NoVLX-LABEL: test256_8b:
; NoVLX:       # BB#0:
; NoVLX-NEXT:    # kill: %YMM1<def> %YMM1<kill> %ZMM1<def>
; NoVLX-NEXT:    # kill: %YMM0<def> %YMM0<kill> %ZMM0<def>
; NoVLX-NEXT:    vmovdqu (%rdi), %ymm2
; NoVLX-NEXT:    vpcmpnltud %zmm0, %zmm2, %k1
; NoVLX-NEXT:    vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
; NoVLX-NEXT:    # kill: %YMM0<def> %YMM0<kill> %ZMM0<kill>
; NoVLX-NEXT:    retq
  %y = load <8 x i32>, <8 x i32>* %y.ptr, align 4
  %mask = icmp uge <8 x i32> %y, %x
  %max = select <8 x i1> %mask, <8 x i32> %x, <8 x i32> %x1
  ret <8 x i32> %max
}

define <8 x i32> @test256_9(<8 x i32> %x, <8 x i32> %y, <8 x i32> %x1, <8 x i32> %y1) nounwind {
; VLX-LABEL: test256_9:
; VLX:       # BB#0:
; VLX-NEXT:    vpcmpeqd %ymm1, %ymm0, %k1
; VLX-NEXT:    vpcmpeqd %ymm3, %ymm2, %k1 {%k1}
; VLX-NEXT:    vpblendmd %ymm0, %ymm1, %ymm0 {%k1}
; VLX-NEXT:    retq
;
; NoVLX-LABEL: test256_9:
; NoVLX:       # BB#0:
; NoVLX-NEXT:    # kill: %YMM3<def> %YMM3<kill> %ZMM3<def>
; NoVLX-NEXT:    # kill: %YMM2<def> %YMM2<kill> %ZMM2<def>
; NoVLX-NEXT:    # kill: %YMM1<def> %YMM1<kill> %ZMM1<def>
; NoVLX-NEXT:    # kill: %YMM0<def> %YMM0<kill> %ZMM0<def>
; NoVLX-NEXT:    vpcmpeqd %zmm1, %zmm0, %k1
; NoVLX-NEXT:    vpcmpeqd %zmm3, %zmm2, %k1 {%k1}
; NoVLX-NEXT:    vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
; NoVLX-NEXT:    # kill: %YMM0<def> %YMM0<kill> %ZMM0<kill>
; NoVLX-NEXT:    retq
  %mask1 = icmp eq <8 x i32> %x1, %y1
  %mask0 = icmp eq <8 x i32> %x, %y
  %mask = select <8 x i1> %mask0, <8 x i1> %mask1, <8 x i1> zeroinitializer
  %max = select <8 x i1> %mask, <8 x i32> %x, <8 x i32> %y
  ret <8 x i32> %max
}

define <4 x i64> @test256_10(<4 x i64> %x, <4 x i64> %y, <4 x i64> %x1, <4 x i64> %y1) nounwind {
; VLX-LABEL: test256_10:
; VLX:       # BB#0:
; VLX-NEXT:    vpcmpleq %ymm1, %ymm0, %k1
; VLX-NEXT:    vpcmpleq %ymm2, %ymm3, %k1 {%k1}
; VLX-NEXT:    vpblendmq %ymm0, %ymm2, %ymm0 {%k1}
; VLX-NEXT:    retq
;
; NoVLX-LABEL: test256_10:
; NoVLX:       # BB#0:
; NoVLX-NEXT:    vpcmpgtq %ymm2, %ymm3, %ymm3
; NoVLX-NEXT:    vpcmpeqd %ymm4, %ymm4, %ymm4
; NoVLX-NEXT:    vpxor %ymm4, %ymm3, %ymm3
; NoVLX-NEXT:    vpcmpgtq %ymm1, %ymm0, %ymm1
; NoVLX-NEXT:    vpandn %ymm3, %ymm1, %ymm1
; NoVLX-NEXT:    vblendvpd %ymm1, %ymm0, %ymm2, %ymm0
; NoVLX-NEXT:    retq
  %mask1 = icmp sge <4 x i64> %x1, %y1
  %mask0 = icmp sle <4 x i64> %x, %y
  %mask = select <4 x i1> %mask0, <4 x i1> %mask1, <4 x i1> zeroinitializer
  %max = select <4 x i1> %mask, <4 x i64> %x, <4 x i64> %x1
  ret <4 x i64> %max
}

define <4 x i64> @test256_11(<4 x i64> %x, <4 x i64>* %y.ptr, <4 x i64> %x1, <4 x i64> %y1) nounwind {
; VLX-LABEL: test256_11:
; VLX:       # BB#0:
; VLX-NEXT:    vpcmpgtq %ymm2, %ymm1, %k1
; VLX-NEXT:    vpcmpgtq (%rdi), %ymm0, %k1 {%k1}
; VLX-NEXT:    vpblendmq %ymm0, %ymm1, %ymm0 {%k1}
; VLX-NEXT:    retq
;
; NoVLX-LABEL: test256_11:
; NoVLX:       # BB#0:
; NoVLX-NEXT:    vpcmpgtq (%rdi), %ymm0, %ymm3
; NoVLX-NEXT:    vpcmpgtq %ymm2, %ymm1, %ymm2
; NoVLX-NEXT:    vpand %ymm2, %ymm3, %ymm2
; NoVLX-NEXT:    vblendvpd %ymm2, %ymm0, %ymm1, %ymm0
; NoVLX-NEXT:    retq
  %mask1 = icmp sgt <4 x i64> %x1, %y1
  %y = load <4 x i64>, <4 x i64>* %y.ptr, align 4
  %mask0 = icmp sgt <4 x i64> %x, %y
  %mask = select <4 x i1> %mask0, <4 x i1> %mask1, <4 x i1> zeroinitializer
  %max = select <4 x i1> %mask, <4 x i64> %x, <4 x i64> %x1
  ret <4 x i64> %max
}

define <8 x i32> @test256_12(<8 x i32> %x, <8 x i32>* %y.ptr, <8 x i32> %x1, <8 x i32> %y1) nounwind {
; VLX-LABEL: test256_12:
; VLX:       # BB#0:
; VLX-NEXT:    vpcmpled %ymm1, %ymm2, %k1
; VLX-NEXT:    vpcmpleud (%rdi), %ymm0, %k1 {%k1}
; VLX-NEXT:    vpblendmd %ymm0, %ymm1, %ymm0 {%k1}
; VLX-NEXT:    retq
;
; NoVLX-LABEL: test256_12:
; NoVLX:       # BB#0:
; NoVLX-NEXT:    # kill: %YMM2<def> %YMM2<kill> %ZMM2<def>
; NoVLX-NEXT:    # kill: %YMM1<def> %YMM1<kill> %ZMM1<def>
; NoVLX-NEXT:    # kill: %YMM0<def> %YMM0<kill> %ZMM0<def>
; NoVLX-NEXT:    vmovdqu (%rdi), %ymm3
; NoVLX-NEXT:    vpcmpleud %zmm3, %zmm0, %k1
; NoVLX-NEXT:    vpcmpled %zmm1, %zmm2, %k1 {%k1}
; NoVLX-NEXT:    vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
; NoVLX-NEXT:    # kill: %YMM0<def> %YMM0<kill> %ZMM0<kill>
; NoVLX-NEXT:    retq
  %mask1 = icmp sge <8 x i32> %x1, %y1
  %y = load <8 x i32>, <8 x i32>* %y.ptr, align 4
  %mask0 = icmp ule <8 x i32> %x, %y
  %mask = select <8 x i1> %mask0, <8 x i1> %mask1, <8 x i1> zeroinitializer
  %max = select <8 x i1> %mask, <8 x i32> %x, <8 x i32> %x1
  ret <8 x i32> %max
}

define <4 x i64> @test256_13(<4 x i64> %x, <4 x i64> %x1, i64* %yb.ptr) nounwind {
; VLX-LABEL: test256_13:
; VLX:       # BB#0:
; VLX-NEXT:    vpcmpeqq (%rdi){1to4}, %ymm0, %k1
; VLX-NEXT:    vpblendmq %ymm0, %ymm1, %ymm0 {%k1}
; VLX-NEXT:    retq
;
; NoVLX-LABEL: test256_13:
; NoVLX:       # BB#0:
; NoVLX-NEXT:    vpbroadcastq (%rdi), %ymm2
; NoVLX-NEXT:    vpcmpeqq %ymm2, %ymm0, %ymm2
; NoVLX-NEXT:    vblendvpd %ymm2, %ymm0, %ymm1, %ymm0
; NoVLX-NEXT:    retq
  %yb = load i64, i64* %yb.ptr, align 4
  %y.0 = insertelement <4 x i64> undef, i64 %yb, i32 0
  %y = shufflevector <4 x i64> %y.0, <4 x i64> undef, <4 x i32> zeroinitializer
  %mask = icmp eq <4 x i64> %x, %y
  %max = select <4 x i1> %mask, <4 x i64> %x, <4 x i64> %x1
  ret <4 x i64> %max
}

define <8 x i32> @test256_14(<8 x i32> %x, i32* %yb.ptr, <8 x i32> %x1) nounwind {
; VLX-LABEL: test256_14:
; VLX:       # BB#0:
; VLX-NEXT:    vpcmpled (%rdi){1to8}, %ymm0, %k1
; VLX-NEXT:    vpblendmd %ymm0, %ymm1, %ymm0 {%k1}
; VLX-NEXT:    retq
;
; NoVLX-LABEL: test256_14:
; NoVLX:       # BB#0:
; NoVLX-NEXT:    # kill: %YMM1<def> %YMM1<kill> %ZMM1<def>
; NoVLX-NEXT:    # kill: %YMM0<def> %YMM0<kill> %ZMM0<def>
; NoVLX-NEXT:    vpbroadcastd (%rdi), %ymm2
; NoVLX-NEXT:    vpcmpled %zmm2, %zmm0, %k1
; NoVLX-NEXT:    vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
; NoVLX-NEXT:    # kill: %YMM0<def> %YMM0<kill> %ZMM0<kill>
; NoVLX-NEXT:    retq
  %yb = load i32, i32* %yb.ptr, align 4
  %y.0 = insertelement <8 x i32> undef, i32 %yb, i32 0
  %y = shufflevector <8 x i32> %y.0, <8 x i32> undef, <8 x i32> zeroinitializer
  %mask = icmp sle <8 x i32> %x, %y
  %max = select <8 x i1> %mask, <8 x i32> %x, <8 x i32> %x1
  ret <8 x i32> %max
}

define <8 x i32> @test256_15(<8 x i32> %x, i32* %yb.ptr, <8 x i32> %x1, <8 x i32> %y1) nounwind {
; VLX-LABEL: test256_15:
; VLX:       # BB#0:
; VLX-NEXT:    vpcmpled %ymm1, %ymm2, %k1
; VLX-NEXT:    vpcmpgtd (%rdi){1to8}, %ymm0, %k1 {%k1}
; VLX-NEXT:    vpblendmd %ymm0, %ymm1, %ymm0 {%k1}
; VLX-NEXT:    retq
;
; NoVLX-LABEL: test256_15:
; NoVLX:       # BB#0:
; NoVLX-NEXT:    # kill: %YMM2<def> %YMM2<kill> %ZMM2<def>
; NoVLX-NEXT:    # kill: %YMM1<def> %YMM1<kill> %ZMM1<def>
; NoVLX-NEXT:    # kill: %YMM0<def> %YMM0<kill> %ZMM0<def>
; NoVLX-NEXT:    vpbroadcastd (%rdi), %ymm3
; NoVLX-NEXT:    vpcmpgtd %zmm3, %zmm0, %k1
; NoVLX-NEXT:    vpcmpled %zmm1, %zmm2, %k1 {%k1}
; NoVLX-NEXT:    vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
; NoVLX-NEXT:    # kill: %YMM0<def> %YMM0<kill> %ZMM0<kill>
; NoVLX-NEXT:    retq
  %mask1 = icmp sge <8 x i32> %x1, %y1
  %yb = load i32, i32* %yb.ptr, align 4
  %y.0 = insertelement <8 x i32> undef, i32 %yb, i32 0
  %y = shufflevector <8 x i32> %y.0, <8 x i32> undef, <8 x i32> zeroinitializer
  %mask0 = icmp sgt <8 x i32> %x, %y
  %mask = select <8 x i1> %mask0, <8 x i1> %mask1, <8 x i1> zeroinitializer
  %max = select <8 x i1> %mask, <8 x i32> %x, <8 x i32> %x1
  ret <8 x i32> %max
}

define <4 x i64> @test256_16(<4 x i64> %x, i64* %yb.ptr, <4 x i64> %x1, <4 x i64> %y1) nounwind {
; VLX-LABEL: test256_16:
; VLX:       # BB#0:
; VLX-NEXT:    vpcmpleq %ymm1, %ymm2, %k1
; VLX-NEXT:    vpcmpgtq (%rdi){1to4}, %ymm0, %k1 {%k1}
; VLX-NEXT:    vpblendmq %ymm0, %ymm1, %ymm0 {%k1}
; VLX-NEXT:    retq
;
; NoVLX-LABEL: test256_16:
; NoVLX:       # BB#0:
; NoVLX-NEXT:    vpcmpgtq %ymm1, %ymm2, %ymm2
; NoVLX-NEXT:    vpbroadcastq (%rdi), %ymm3
; NoVLX-NEXT:    vpcmpgtq %ymm3, %ymm0, %ymm3
; NoVLX-NEXT:    vpandn %ymm3, %ymm2, %ymm2
; NoVLX-NEXT:    vblendvpd %ymm2, %ymm0, %ymm1, %ymm0
; NoVLX-NEXT:    retq
  %mask1 = icmp sge <4 x i64> %x1, %y1
  %yb = load i64, i64* %yb.ptr, align 4
  %y.0 = insertelement <4 x i64> undef, i64 %yb, i32 0
  %y = shufflevector <4 x i64> %y.0, <4 x i64> undef, <4 x i32> zeroinitializer
  %mask0 = icmp sgt <4 x i64> %x, %y
  %mask = select <4 x i1> %mask0, <4 x i1> %mask1, <4 x i1> zeroinitializer
  %max = select <4 x i1> %mask, <4 x i64> %x, <4 x i64> %x1
  ret <4 x i64> %max
}

define <8 x i32> @test256_17(<8 x i32> %x, <8 x i32> %x1, <8 x i32>* %yp) nounwind {
; VLX-LABEL: test256_17:
; VLX:       # BB#0:
; VLX-NEXT:    vpcmpneqd (%rdi), %ymm0, %k1
; VLX-NEXT:    vpblendmd %ymm0, %ymm1, %ymm0 {%k1}
; VLX-NEXT:    retq
;
; NoVLX-LABEL: test256_17:
; NoVLX:       # BB#0:
; NoVLX-NEXT:    # kill: %YMM1<def> %YMM1<kill> %ZMM1<def>
; NoVLX-NEXT:    # kill: %YMM0<def> %YMM0<kill> %ZMM0<def>
; NoVLX-NEXT:    vmovdqu (%rdi), %ymm2
; NoVLX-NEXT:    vpcmpneqd %zmm2, %zmm0, %k1
; NoVLX-NEXT:    vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
; NoVLX-NEXT:    # kill: %YMM0<def> %YMM0<kill> %ZMM0<kill>
; NoVLX-NEXT:    retq
  %y = load <8 x i32>, <8 x i32>* %yp, align 4
  %mask = icmp ne <8 x i32> %x, %y
  %max = select <8 x i1> %mask, <8 x i32> %x, <8 x i32> %x1
  ret <8 x i32> %max
}

define <8 x i32> @test256_18(<8 x i32> %x, <8 x i32> %x1, <8 x i32>* %yp) nounwind {
; VLX-LABEL: test256_18:
; VLX:       # BB#0:
; VLX-NEXT:    vpcmpneqd (%rdi), %ymm0, %k1
; VLX-NEXT:    vpblendmd %ymm0, %ymm1, %ymm0 {%k1}
; VLX-NEXT:    retq
;
; NoVLX-LABEL: test256_18:
; NoVLX:       # BB#0:
; NoVLX-NEXT:    # kill: %YMM1<def> %YMM1<kill> %ZMM1<def>
; NoVLX-NEXT:    # kill: %YMM0<def> %YMM0<kill> %ZMM0<def>
; NoVLX-NEXT:    vmovdqu (%rdi), %ymm2
; NoVLX-NEXT:    vpcmpneqd %zmm0, %zmm2, %k1
; NoVLX-NEXT:    vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
; NoVLX-NEXT:    # kill: %YMM0<def> %YMM0<kill> %ZMM0<kill>
; NoVLX-NEXT:    retq
  %y = load <8 x i32>, <8 x i32>* %yp, align 4
  %mask = icmp ne <8 x i32> %y, %x
  %max = select <8 x i1> %mask, <8 x i32> %x, <8 x i32> %x1
  ret <8 x i32> %max
}

define <8 x i32> @test256_19(<8 x i32> %x, <8 x i32> %x1, <8 x i32>* %yp) nounwind {
; VLX-LABEL: test256_19:
; VLX:       # BB#0:
; VLX-NEXT:    vpcmpnltud (%rdi), %ymm0, %k1
; VLX-NEXT:    vpblendmd %ymm0, %ymm1, %ymm0 {%k1}
; VLX-NEXT:    retq
;
; NoVLX-LABEL: test256_19:
; NoVLX:       # BB#0:
; NoVLX-NEXT:    # kill: %YMM1<def> %YMM1<kill> %ZMM1<def>
; NoVLX-NEXT:    # kill: %YMM0<def> %YMM0<kill> %ZMM0<def>
; NoVLX-NEXT:    vmovdqu (%rdi), %ymm2
; NoVLX-NEXT:    vpcmpnltud %zmm2, %zmm0, %k1
; NoVLX-NEXT:    vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
; NoVLX-NEXT:    # kill: %YMM0<def> %YMM0<kill> %ZMM0<kill>
; NoVLX-NEXT:    retq
  %y = load <8 x i32>, <8 x i32>* %yp, align 4
  %mask = icmp uge <8 x i32> %x, %y
  %max = select <8 x i1> %mask, <8 x i32> %x, <8 x i32> %x1
  ret <8 x i32> %max
}

define <8 x i32> @test256_20(<8 x i32> %x, <8 x i32> %x1, <8 x i32>* %yp) nounwind {
; VLX-LABEL: test256_20:
; VLX:       # BB#0:
; VLX-NEXT:    vpcmpleud (%rdi), %ymm0, %k1
; VLX-NEXT:    vpblendmd %ymm0, %ymm1, %ymm0 {%k1}
; VLX-NEXT:    retq
;
; NoVLX-LABEL: test256_20:
; NoVLX:       # BB#0:
; NoVLX-NEXT:    # kill: %YMM1<def> %YMM1<kill> %ZMM1<def>
; NoVLX-NEXT:    # kill: %YMM0<def> %YMM0<kill> %ZMM0<def>
; NoVLX-NEXT:    vmovdqu (%rdi), %ymm2
; NoVLX-NEXT:    vpcmpnltud %zmm0, %zmm2, %k1
; NoVLX-NEXT:    vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
; NoVLX-NEXT:    # kill: %YMM0<def> %YMM0<kill> %ZMM0<kill>
; NoVLX-NEXT:    retq
  %y = load <8 x i32>, <8 x i32>* %yp, align 4
  %mask = icmp uge <8 x i32> %y, %x
  %max = select <8 x i1> %mask, <8 x i32> %x, <8 x i32> %x1
  ret <8 x i32> %max
}

define <2 x i64> @test128_1(<2 x i64> %x, <2 x i64> %y) nounwind {
; VLX-LABEL: test128_1:
; VLX:       # BB#0:
; VLX-NEXT:    vpcmpeqq %xmm1, %xmm0, %k1
; VLX-NEXT:    vpblendmq %xmm0, %xmm1, %xmm0 {%k1}
; VLX-NEXT:    retq
;
; NoVLX-LABEL: test128_1:
; NoVLX:       # BB#0:
; NoVLX-NEXT:    vpcmpeqq %xmm1, %xmm0, %xmm2
; NoVLX-NEXT:    vblendvpd %xmm2, %xmm0, %xmm1, %xmm0
; NoVLX-NEXT:    retq
  %mask = icmp eq <2 x i64> %x, %y
  %max = select <2 x i1> %mask, <2 x i64> %x, <2 x i64> %y
  ret <2 x i64> %max
}

define <2 x i64> @test128_2(<2 x i64> %x, <2 x i64> %y, <2 x i64> %x1) nounwind {
; VLX-LABEL: test128_2:
; VLX:       # BB#0:
; VLX-NEXT:    vpcmpgtq %xmm1, %xmm0, %k1
; VLX-NEXT:    vpblendmq %xmm2, %xmm1, %xmm0 {%k1}
; VLX-NEXT:    retq
;
; NoVLX-LABEL: test128_2:
; NoVLX:       # BB#0:
; NoVLX-NEXT:    vpcmpgtq %xmm1, %xmm0, %xmm0
; NoVLX-NEXT:    vblendvpd %xmm0, %xmm2, %xmm1, %xmm0
; NoVLX-NEXT:    retq
  %mask = icmp sgt <2 x i64> %x, %y
  %max = select <2 x i1> %mask, <2 x i64> %x1, <2 x i64> %y
  ret <2 x i64> %max
}

define <4 x i32> @test128_3(<4 x i32> %x, <4 x i32> %y, <4 x i32> %x1) nounwind {
; VLX-LABEL: test128_3:
; VLX:       # BB#0:
; VLX-NEXT:    vpcmpled %xmm0, %xmm1, %k1
; VLX-NEXT:    vpblendmd %xmm2, %xmm1, %xmm0 {%k1}
; VLX-NEXT:    retq
;
; NoVLX-LABEL: test128_3:
; NoVLX:       # BB#0:
; NoVLX-NEXT:    vpcmpgtd %xmm0, %xmm1, %xmm0
; NoVLX-NEXT:    vpcmpeqd %xmm3, %xmm3, %xmm3
; NoVLX-NEXT:    vpxor %xmm3, %xmm0, %xmm0
; NoVLX-NEXT:    vblendvps %xmm0, %xmm2, %xmm1, %xmm0
; NoVLX-NEXT:    retq
  %mask = icmp sge <4 x i32> %x, %y
  %max = select <4 x i1> %mask, <4 x i32> %x1, <4 x i32> %y
  ret <4 x i32> %max
}

define <2 x i64> @test128_4(<2 x i64> %x, <2 x i64> %y, <2 x i64> %x1) nounwind {
; VLX-LABEL: test128_4:
; VLX:       # BB#0:
; VLX-NEXT:    vpcmpnleuq %xmm1, %xmm0, %k1
; VLX-NEXT:    vpblendmq %xmm2, %xmm1, %xmm0 {%k1}
; VLX-NEXT:    retq
;
; NoVLX-LABEL: test128_4:
; NoVLX:       # BB#0:
; NoVLX-NEXT:    vmovdqa {{.*#+}} xmm3 = [9223372036854775808,9223372036854775808]
; NoVLX-NEXT:    vpxor %xmm3, %xmm1, %xmm4
; NoVLX-NEXT:    vpxor %xmm3, %xmm0, %xmm0
; NoVLX-NEXT:    vpcmpgtq %xmm4, %xmm0, %xmm0
; NoVLX-NEXT:    vblendvpd %xmm0, %xmm2, %xmm1, %xmm0
; NoVLX-NEXT:    retq
  %mask = icmp ugt <2 x i64> %x, %y
  %max = select <2 x i1> %mask, <2 x i64> %x1, <2 x i64> %y
  ret <2 x i64> %max
}

define <4 x i32> @test128_5(<4 x i32> %x, <4 x i32> %x1, <4 x i32>* %yp) nounwind {
; VLX-LABEL: test128_5:
; VLX:       # BB#0:
; VLX-NEXT:    vpcmpeqd (%rdi), %xmm0, %k1
; VLX-NEXT:    vpblendmd %xmm0, %xmm1, %xmm0 {%k1}
; VLX-NEXT:    retq
;
; NoVLX-LABEL: test128_5:
; NoVLX:       # BB#0:
; NoVLX-NEXT:    vpcmpeqd (%rdi), %xmm0, %xmm2
; NoVLX-NEXT:    vblendvps %xmm2, %xmm0, %xmm1, %xmm0
; NoVLX-NEXT:    retq
  %y = load <4 x i32>, <4 x i32>* %yp, align 4
  %mask = icmp eq <4 x i32> %x, %y
  %max = select <4 x i1> %mask, <4 x i32> %x, <4 x i32> %x1
  ret <4 x i32> %max
}

define <4 x i32> @test128_5b(<4 x i32> %x, <4 x i32> %x1, <4 x i32>* %yp) nounwind {
; VLX-LABEL: test128_5b:
; VLX:       # BB#0:
; VLX-NEXT:    vpcmpeqd (%rdi), %xmm0, %k1
; VLX-NEXT:    vpblendmd %xmm0, %xmm1, %xmm0 {%k1}
; VLX-NEXT:    retq
;
; NoVLX-LABEL: test128_5b:
; NoVLX:       # BB#0:
; NoVLX-NEXT:    vpcmpeqd (%rdi), %xmm0, %xmm2
; NoVLX-NEXT:    vblendvps %xmm2, %xmm0, %xmm1, %xmm0
; NoVLX-NEXT:    retq
  %y = load <4 x i32>, <4 x i32>* %yp, align 4
  %mask = icmp eq <4 x i32> %y, %x
  %max = select <4 x i1> %mask, <4 x i32> %x, <4 x i32> %x1
  ret <4 x i32> %max
}

define <4 x i32> @test128_6(<4 x i32> %x, <4 x i32> %x1, <4 x i32>* %y.ptr) nounwind {
; VLX-LABEL: test128_6:
; VLX:       # BB#0:
; VLX-NEXT:    vpcmpgtd (%rdi), %xmm0, %k1
; VLX-NEXT:    vpblendmd %xmm0, %xmm1, %xmm0 {%k1}
; VLX-NEXT:    retq
;
; NoVLX-LABEL: test128_6:
; NoVLX:       # BB#0:
; NoVLX-NEXT:    vpcmpgtd (%rdi), %xmm0, %xmm2
; NoVLX-NEXT:    vblendvps %xmm2, %xmm0, %xmm1, %xmm0
; NoVLX-NEXT:    retq
  %y = load <4 x i32>, <4 x i32>* %y.ptr, align 4
  %mask = icmp sgt <4 x i32> %x, %y
  %max = select <4 x i1> %mask, <4 x i32> %x, <4 x i32> %x1
  ret <4 x i32> %max
}

define <4 x i32> @test128_6b(<4 x i32> %x, <4 x i32> %x1, <4 x i32>* %y.ptr) nounwind {
; VLX-LABEL: test128_6b:
; VLX:       # BB#0:
; VLX-NEXT:    vpcmpgtd (%rdi), %xmm0, %k1
; VLX-NEXT:    vpblendmd %xmm0, %xmm1, %xmm0 {%k1}
; VLX-NEXT:    retq
;
; NoVLX-LABEL: test128_6b:
; NoVLX:       # BB#0:
; NoVLX-NEXT:    vpcmpgtd (%rdi), %xmm0, %xmm2
; NoVLX-NEXT:    vblendvps %xmm2, %xmm0, %xmm1, %xmm0
; NoVLX-NEXT:    retq
  %y = load <4 x i32>, <4 x i32>* %y.ptr, align 4
  %mask = icmp slt <4 x i32> %y, %x
  %max = select <4 x i1> %mask, <4 x i32> %x, <4 x i32> %x1
  ret <4 x i32> %max
}

define <4 x i32> @test128_7(<4 x i32> %x, <4 x i32> %x1, <4 x i32>* %y.ptr) nounwind {
; VLX-LABEL: test128_7:
; VLX:       # BB#0:
; VLX-NEXT:    vpcmpled (%rdi), %xmm0, %k1
; VLX-NEXT:    vpblendmd %xmm0, %xmm1, %xmm0 {%k1}
; VLX-NEXT:    retq
;
; NoVLX-LABEL: test128_7:
; NoVLX:       # BB#0:
; NoVLX-NEXT:    vpcmpgtd (%rdi), %xmm0, %xmm2
; NoVLX-NEXT:    vpcmpeqd %xmm3, %xmm3, %xmm3
; NoVLX-NEXT:    vpxor %xmm3, %xmm2, %xmm2
; NoVLX-NEXT:    vblendvps %xmm2, %xmm0, %xmm1, %xmm0
; NoVLX-NEXT:    retq
  %y = load <4 x i32>, <4 x i32>* %y.ptr, align 4
  %mask = icmp sle <4 x i32> %x, %y
  %max = select <4 x i1> %mask, <4 x i32> %x, <4 x i32> %x1
  ret <4 x i32> %max
}

define <4 x i32> @test128_7b(<4 x i32> %x, <4 x i32> %x1, <4 x i32>* %y.ptr) nounwind {
; VLX-LABEL: test128_7b:
; VLX:       # BB#0:
; VLX-NEXT:    vpcmpled (%rdi), %xmm0, %k1
; VLX-NEXT:    vpblendmd %xmm0, %xmm1, %xmm0 {%k1}
; VLX-NEXT:    retq
;
; NoVLX-LABEL: test128_7b:
; NoVLX:       # BB#0:
; NoVLX-NEXT:    vpcmpgtd (%rdi), %xmm0, %xmm2
; NoVLX-NEXT:    vpcmpeqd %xmm3, %xmm3, %xmm3
; NoVLX-NEXT:    vpxor %xmm3, %xmm2, %xmm2
; NoVLX-NEXT:    vblendvps %xmm2, %xmm0, %xmm1, %xmm0
; NoVLX-NEXT:    retq
  %y = load <4 x i32>, <4 x i32>* %y.ptr, align 4
  %mask = icmp sge <4 x i32> %y, %x
  %max = select <4 x i1> %mask, <4 x i32> %x, <4 x i32> %x1
  ret <4 x i32> %max
}

define <4 x i32> @test128_8(<4 x i32> %x, <4 x i32> %x1, <4 x i32>* %y.ptr) nounwind {
; VLX-LABEL: test128_8:
; VLX:       # BB#0:
; VLX-NEXT:    vpcmpleud (%rdi), %xmm0, %k1
; VLX-NEXT:    vpblendmd %xmm0, %xmm1, %xmm0 {%k1}
; VLX-NEXT:    retq
;
; NoVLX-LABEL: test128_8:
; NoVLX:       # BB#0:
; NoVLX-NEXT:    vpminud (%rdi), %xmm0, %xmm2
; NoVLX-NEXT:    vpcmpeqd %xmm2, %xmm0, %xmm2
; NoVLX-NEXT:    vblendvps %xmm2, %xmm0, %xmm1, %xmm0
; NoVLX-NEXT:    retq
  %y = load <4 x i32>, <4 x i32>* %y.ptr, align 4
  %mask = icmp ule <4 x i32> %x, %y
  %max = select <4 x i1> %mask, <4 x i32> %x, <4 x i32> %x1
  ret <4 x i32> %max
}

define <4 x i32> @test128_8b(<4 x i32> %x, <4 x i32> %x1, <4 x i32>* %y.ptr) nounwind {
; VLX-LABEL: test128_8b:
; VLX:       # BB#0:
; VLX-NEXT:    vpcmpleud (%rdi), %xmm0, %k1
; VLX-NEXT:    vpblendmd %xmm0, %xmm1, %xmm0 {%k1}
; VLX-NEXT:    retq
;
; NoVLX-LABEL: test128_8b:
; NoVLX:       # BB#0:
; NoVLX-NEXT:    vmovdqu (%rdi), %xmm2
; NoVLX-NEXT:    vpmaxud %xmm0, %xmm2, %xmm3
; NoVLX-NEXT:    vpcmpeqd %xmm3, %xmm2, %xmm2
; NoVLX-NEXT:    vblendvps %xmm2, %xmm0, %xmm1, %xmm0
; NoVLX-NEXT:    retq
  %y = load <4 x i32>, <4 x i32>* %y.ptr, align 4
  %mask = icmp uge <4 x i32> %y, %x
  %max = select <4 x i1> %mask, <4 x i32> %x, <4 x i32> %x1
  ret <4 x i32> %max
}

define <4 x i32> @test128_9(<4 x i32> %x, <4 x i32> %y, <4 x i32> %x1, <4 x i32> %y1) nounwind {
; VLX-LABEL: test128_9:
; VLX:       # BB#0:
; VLX-NEXT:    vpcmpeqd %xmm1, %xmm0, %k1
; VLX-NEXT:    vpcmpeqd %xmm3, %xmm2, %k1 {%k1}
; VLX-NEXT:    vpblendmd %xmm0, %xmm1, %xmm0 {%k1}
; VLX-NEXT:    retq
;
; NoVLX-LABEL: test128_9:
; NoVLX:       # BB#0:
; NoVLX-NEXT:    vpcmpeqd %xmm3, %xmm2, %xmm2
; NoVLX-NEXT:    vpcmpeqd %xmm1, %xmm0, %xmm3
; NoVLX-NEXT:    vpand %xmm2, %xmm3, %xmm2
; NoVLX-NEXT:    vblendvps %xmm2, %xmm0, %xmm1, %xmm0
; NoVLX-NEXT:    retq
  %mask1 = icmp eq <4 x i32> %x1, %y1
  %mask0 = icmp eq <4 x i32> %x, %y
  %mask = select <4 x i1> %mask0, <4 x i1> %mask1, <4 x i1> zeroinitializer
  %max = select <4 x i1> %mask, <4 x i32> %x, <4 x i32> %y
  ret <4 x i32> %max
}

define <2 x i64> @test128_10(<2 x i64> %x, <2 x i64> %y, <2 x i64> %x1, <2 x i64> %y1) nounwind {
; VLX-LABEL: test128_10:
; VLX:       # BB#0:
; VLX-NEXT:    vpcmpleq %xmm1, %xmm0, %k1
; VLX-NEXT:    vpcmpleq %xmm2, %xmm3, %k1 {%k1}
; VLX-NEXT:    vpblendmq %xmm0, %xmm2, %xmm0 {%k1}
; VLX-NEXT:    retq
;
; NoVLX-LABEL: test128_10:
; NoVLX:       # BB#0:
; NoVLX-NEXT:    vpcmpgtq %xmm2, %xmm3, %xmm3
; NoVLX-NEXT:    vpcmpeqd %xmm4, %xmm4, %xmm4
; NoVLX-NEXT:    vpxor %xmm4, %xmm3, %xmm3
; NoVLX-NEXT:    vpcmpgtq %xmm1, %xmm0, %xmm1
; NoVLX-NEXT:    vpandn %xmm3, %xmm1, %xmm1
; NoVLX-NEXT:    vblendvpd %xmm1, %xmm0, %xmm2, %xmm0
; NoVLX-NEXT:    retq
  %mask1 = icmp sge <2 x i64> %x1, %y1
  %mask0 = icmp sle <2 x i64> %x, %y
  %mask = select <2 x i1> %mask0, <2 x i1> %mask1, <2 x i1> zeroinitializer
  %max = select <2 x i1> %mask, <2 x i64> %x, <2 x i64> %x1
  ret <2 x i64> %max
}

define <2 x i64> @test128_11(<2 x i64> %x, <2 x i64>* %y.ptr, <2 x i64> %x1, <2 x i64> %y1) nounwind {
; VLX-LABEL: test128_11:
; VLX:       # BB#0:
; VLX-NEXT:    vpcmpgtq %xmm2, %xmm1, %k1
; VLX-NEXT:    vpcmpgtq (%rdi), %xmm0, %k1 {%k1}
; VLX-NEXT:    vpblendmq %xmm0, %xmm1, %xmm0 {%k1}
; VLX-NEXT:    retq
;
; NoVLX-LABEL: test128_11:
; NoVLX:       # BB#0:
; NoVLX-NEXT:    vpcmpgtq (%rdi), %xmm0, %xmm3
; NoVLX-NEXT:    vpcmpgtq %xmm2, %xmm1, %xmm2
; NoVLX-NEXT:    vpand %xmm2, %xmm3, %xmm2
; NoVLX-NEXT:    vblendvpd %xmm2, %xmm0, %xmm1, %xmm0
; NoVLX-NEXT:    retq
  %mask1 = icmp sgt <2 x i64> %x1, %y1
  %y = load <2 x i64>, <2 x i64>* %y.ptr, align 4
  %mask0 = icmp sgt <2 x i64> %x, %y
  %mask = select <2 x i1> %mask0, <2 x i1> %mask1, <2 x i1> zeroinitializer
  %max = select <2 x i1> %mask, <2 x i64> %x, <2 x i64> %x1
  ret <2 x i64> %max
}

define <4 x i32> @test128_12(<4 x i32> %x, <4 x i32>* %y.ptr, <4 x i32> %x1, <4 x i32> %y1) nounwind {
; VLX-LABEL: test128_12:
; VLX:       # BB#0:
; VLX-NEXT:    vpcmpled %xmm1, %xmm2, %k1
; VLX-NEXT:    vpcmpleud (%rdi), %xmm0, %k1 {%k1}
; VLX-NEXT:    vpblendmd %xmm0, %xmm1, %xmm0 {%k1}
; VLX-NEXT:    retq
;
; NoVLX-LABEL: test128_12:
; NoVLX:       # BB#0:
; NoVLX-NEXT:    vpcmpgtd %xmm1, %xmm2, %xmm2
; NoVLX-NEXT:    vpminud (%rdi), %xmm0, %xmm3
; NoVLX-NEXT:    vpcmpeqd %xmm3, %xmm0, %xmm3
; NoVLX-NEXT:    vpandn %xmm3, %xmm2, %xmm2
; NoVLX-NEXT:    vblendvps %xmm2, %xmm0, %xmm1, %xmm0
; NoVLX-NEXT:    retq
  %mask1 = icmp sge <4 x i32> %x1, %y1
  %y = load <4 x i32>, <4 x i32>* %y.ptr, align 4
  %mask0 = icmp ule <4 x i32> %x, %y
  %mask = select <4 x i1> %mask0, <4 x i1> %mask1, <4 x i1> zeroinitializer
  %max = select <4 x i1> %mask, <4 x i32> %x, <4 x i32> %x1
  ret <4 x i32> %max
}

define <2 x i64> @test128_13(<2 x i64> %x, <2 x i64> %x1, i64* %yb.ptr) nounwind {
; VLX-LABEL: test128_13:
; VLX:       # BB#0:
; VLX-NEXT:    vpcmpeqq (%rdi){1to2}, %xmm0, %k1
; VLX-NEXT:    vpblendmq %xmm0, %xmm1, %xmm0 {%k1}
; VLX-NEXT:    retq
;
; NoVLX-LABEL: test128_13:
; NoVLX:       # BB#0:
; NoVLX-NEXT:    vpbroadcastq (%rdi), %xmm2
; NoVLX-NEXT:    vpcmpeqq %xmm2, %xmm0, %xmm2
; NoVLX-NEXT:    vblendvpd %xmm2, %xmm0, %xmm1, %xmm0
; NoVLX-NEXT:    retq
  %yb = load i64, i64* %yb.ptr, align 4
  %y.0 = insertelement <2 x i64> undef, i64 %yb, i32 0
  %y = insertelement <2 x i64> %y.0, i64 %yb, i32 1
  %mask = icmp eq <2 x i64> %x, %y
  %max = select <2 x i1> %mask, <2 x i64> %x, <2 x i64> %x1
  ret <2 x i64> %max
}

define <4 x i32> @test128_14(<4 x i32> %x, i32* %yb.ptr, <4 x i32> %x1) nounwind {
; VLX-LABEL: test128_14:
; VLX:       # BB#0:
; VLX-NEXT:    vpcmpled (%rdi){1to4}, %xmm0, %k1
; VLX-NEXT:    vpblendmd %xmm0, %xmm1, %xmm0 {%k1}
; VLX-NEXT:    retq
;
; NoVLX-LABEL: test128_14:
; NoVLX:       # BB#0:
; NoVLX-NEXT:    vpbroadcastd (%rdi), %xmm2
; NoVLX-NEXT:    vpcmpgtd %xmm2, %xmm0, %xmm2
; NoVLX-NEXT:    vpcmpeqd %xmm3, %xmm3, %xmm3
; NoVLX-NEXT:    vpxor %xmm3, %xmm2, %xmm2
; NoVLX-NEXT:    vblendvps %xmm2, %xmm0, %xmm1, %xmm0
; NoVLX-NEXT:    retq
  %yb = load i32, i32* %yb.ptr, align 4
  %y.0 = insertelement <4 x i32> undef, i32 %yb, i32 0
  %y = shufflevector <4 x i32> %y.0, <4 x i32> undef, <4 x i32> zeroinitializer
  %mask = icmp sle <4 x i32> %x, %y
  %max = select <4 x i1> %mask, <4 x i32> %x, <4 x i32> %x1
  ret <4 x i32> %max
}

define <4 x i32> @test128_15(<4 x i32> %x, i32* %yb.ptr, <4 x i32> %x1, <4 x i32> %y1) nounwind {
; VLX-LABEL: test128_15:
; VLX:       # BB#0:
; VLX-NEXT:    vpcmpled %xmm1, %xmm2, %k1
; VLX-NEXT:    vpcmpgtd (%rdi){1to4}, %xmm0, %k1 {%k1}
; VLX-NEXT:    vpblendmd %xmm0, %xmm1, %xmm0 {%k1}
; VLX-NEXT:    retq
;
; NoVLX-LABEL: test128_15:
; NoVLX:       # BB#0:
; NoVLX-NEXT:    vpcmpgtd %xmm1, %xmm2, %xmm2
; NoVLX-NEXT:    vpbroadcastd (%rdi), %xmm3
; NoVLX-NEXT:    vpcmpgtd %xmm3, %xmm0, %xmm3
; NoVLX-NEXT:    vpandn %xmm3, %xmm2, %xmm2
; NoVLX-NEXT:    vblendvps %xmm2, %xmm0, %xmm1, %xmm0
; NoVLX-NEXT:    retq
  %mask1 = icmp sge <4 x i32> %x1, %y1
  %yb = load i32, i32* %yb.ptr, align 4
  %y.0 = insertelement <4 x i32> undef, i32 %yb, i32 0
  %y = shufflevector <4 x i32> %y.0, <4 x i32> undef, <4 x i32> zeroinitializer
  %mask0 = icmp sgt <4 x i32> %x, %y
  %mask = select <4 x i1> %mask0, <4 x i1> %mask1, <4 x i1> zeroinitializer
  %max = select <4 x i1> %mask, <4 x i32> %x, <4 x i32> %x1
  ret <4 x i32> %max
}

define <2 x i64> @test128_16(<2 x i64> %x, i64* %yb.ptr, <2 x i64> %x1, <2 x i64> %y1) nounwind {
; VLX-LABEL: test128_16:
; VLX:       # BB#0:
; VLX-NEXT:    vpcmpleq %xmm1, %xmm2, %k1
; VLX-NEXT:    vpcmpgtq (%rdi){1to2}, %xmm0, %k1 {%k1}
; VLX-NEXT:    vpblendmq %xmm0, %xmm1, %xmm0 {%k1}
; VLX-NEXT:    retq
;
; NoVLX-LABEL: test128_16:
; NoVLX:       # BB#0:
; NoVLX-NEXT:    vpcmpgtq %xmm1, %xmm2, %xmm2
; NoVLX-NEXT:    vpbroadcastq (%rdi), %xmm3
; NoVLX-NEXT:    vpcmpgtq %xmm3, %xmm0, %xmm3
; NoVLX-NEXT:    vpandn %xmm3, %xmm2, %xmm2
; NoVLX-NEXT:    vblendvpd %xmm2, %xmm0, %xmm1, %xmm0
; NoVLX-NEXT:    retq
  %mask1 = icmp sge <2 x i64> %x1, %y1
  %yb = load i64, i64* %yb.ptr, align 4
  %y.0 = insertelement <2 x i64> undef, i64 %yb, i32 0
  %y = insertelement <2 x i64> %y.0, i64 %yb, i32 1
  %mask0 = icmp sgt <2 x i64> %x, %y
  %mask = select <2 x i1> %mask0, <2 x i1> %mask1, <2 x i1> zeroinitializer
  %max = select <2 x i1> %mask, <2 x i64> %x, <2 x i64> %x1
  ret <2 x i64> %max
}

define <4 x i32> @test128_17(<4 x i32> %x, <4 x i32> %x1, <4 x i32>* %y.ptr) nounwind {
; VLX-LABEL: test128_17:
; VLX:       # BB#0:
; VLX-NEXT:    vpcmpneqd (%rdi), %xmm0, %k1
; VLX-NEXT:    vpblendmd %xmm0, %xmm1, %xmm0 {%k1}
; VLX-NEXT:    retq
;
; NoVLX-LABEL: test128_17:
; NoVLX:       # BB#0:
; NoVLX-NEXT:    vpcmpeqd (%rdi), %xmm0, %xmm2
; NoVLX-NEXT:    vpcmpeqd %xmm3, %xmm3, %xmm3
; NoVLX-NEXT:    vpxor %xmm3, %xmm2, %xmm2
; NoVLX-NEXT:    vblendvps %xmm2, %xmm0, %xmm1, %xmm0
; NoVLX-NEXT:    retq
  %y = load <4 x i32>, <4 x i32>* %y.ptr, align 4
  %mask = icmp ne <4 x i32> %x, %y
  %max = select <4 x i1> %mask, <4 x i32> %x, <4 x i32> %x1
  ret <4 x i32> %max
}

define <4 x i32> @test128_18(<4 x i32> %x, <4 x i32> %x1, <4 x i32>* %y.ptr) nounwind {
; VLX-LABEL: test128_18:
; VLX:       # BB#0:
; VLX-NEXT:    vpcmpneqd (%rdi), %xmm0, %k1
; VLX-NEXT:    vpblendmd %xmm0, %xmm1, %xmm0 {%k1}
; VLX-NEXT:    retq
;
; NoVLX-LABEL: test128_18:
; NoVLX:       # BB#0:
; NoVLX-NEXT:    vpcmpeqd (%rdi), %xmm0, %xmm2
; NoVLX-NEXT:    vpcmpeqd %xmm3, %xmm3, %xmm3
; NoVLX-NEXT:    vpxor %xmm3, %xmm2, %xmm2
; NoVLX-NEXT:    vblendvps %xmm2, %xmm0, %xmm1, %xmm0
; NoVLX-NEXT:    retq
  %y = load <4 x i32>, <4 x i32>* %y.ptr, align 4
  %mask = icmp ne <4 x i32> %y, %x
  %max = select <4 x i1> %mask, <4 x i32> %x, <4 x i32> %x1
  ret <4 x i32> %max
}

define <4 x i32> @test128_19(<4 x i32> %x, <4 x i32> %x1, <4 x i32>* %y.ptr) nounwind {
; VLX-LABEL: test128_19:
; VLX:       # BB#0:
; VLX-NEXT:    vpcmpnltud (%rdi), %xmm0, %k1
; VLX-NEXT:    vpblendmd %xmm0, %xmm1, %xmm0 {%k1}
; VLX-NEXT:    retq
;
; NoVLX-LABEL: test128_19:
; NoVLX:       # BB#0:
; NoVLX-NEXT:    vpmaxud (%rdi), %xmm0, %xmm2
; NoVLX-NEXT:    vpcmpeqd %xmm2, %xmm0, %xmm2
; NoVLX-NEXT:    vblendvps %xmm2, %xmm0, %xmm1, %xmm0
; NoVLX-NEXT:    retq
  %y = load <4 x i32>, <4 x i32>* %y.ptr, align 4
  %mask = icmp uge <4 x i32> %x, %y
  %max = select <4 x i1> %mask, <4 x i32> %x, <4 x i32> %x1
  ret <4 x i32> %max
}

define <4 x i32> @test128_20(<4 x i32> %x, <4 x i32> %x1, <4 x i32>* %y.ptr) nounwind {
; VLX-LABEL: test128_20:
; VLX:       # BB#0:
; VLX-NEXT:    vpcmpleud (%rdi), %xmm0, %k1
; VLX-NEXT:    vpblendmd %xmm0, %xmm1, %xmm0 {%k1}
; VLX-NEXT:    retq
;
; NoVLX-LABEL: test128_20:
; NoVLX:       # BB#0:
; NoVLX-NEXT:    vmovdqu (%rdi), %xmm2
; NoVLX-NEXT:    vpmaxud %xmm0, %xmm2, %xmm3
; NoVLX-NEXT:    vpcmpeqd %xmm3, %xmm2, %xmm2
; NoVLX-NEXT:    vblendvps %xmm2, %xmm0, %xmm1, %xmm0
; NoVLX-NEXT:    retq
  %y = load <4 x i32>, <4 x i32>* %y.ptr, align 4
  %mask = icmp uge <4 x i32> %y, %x
  %max = select <4 x i1> %mask, <4 x i32> %x, <4 x i32> %x1
  ret <4 x i32> %max
}
