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

@ac = external local_unnamed_addr global [20 x i8], align 1
@ai3 = external local_unnamed_addr global [20 x i32], align 16

; Function Attrs: norecurse nounwind uwtable
define void @pr35443() {
; CHECK-LABEL: pr35443:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vpbroadcastb ac+{{.*}}(%rip), %xmm0
; CHECK-NEXT:    vpmovzxbq {{.*#+}} ymm0 = xmm0[0],zero,zero,zero,zero,zero,zero,zero,xmm0[1],zero,zero,zero,zero,zero,zero,zero,xmm0[2],zero,zero,zero,zero,zero,zero,zero,xmm0[3],zero,zero,zero,zero,zero,zero,zero
; CHECK-NEXT:    vpxor %xmm1, %xmm1, %xmm1
; CHECK-NEXT:    vpsubq %ymm0, %ymm1, %ymm0
; CHECK-NEXT:    vpmovqd %ymm0, ai3+{{.*}}(%rip)
; CHECK-NEXT:    vzeroupper
; CHECK-NEXT:    retq
entry:
  %wide.masked.load66 = call <4 x i8> @llvm.masked.load.v4i8.p0v4i8(<4 x i8>* bitcast (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @ac, i64 0, i64 4) to <4 x i8>*), i32 1, <4 x i1> <i1 true, i1 false, i1 false, i1 false>, <4 x i8> undef)
  %0 = zext <4 x i8> %wide.masked.load66 to <4 x i64>
  %1 = sub <4 x i64> zeroinitializer, %0
  %predphi = shufflevector <4 x i64> %1, <4 x i64> undef, <4 x i32> <i32 0, i32 5, i32 6, i32 7>
  %2 = trunc <4 x i64> %predphi to <4 x i32>
  %3 = add <4 x i32> zeroinitializer, %2
  store <4 x i32> %3, <4 x i32>* bitcast (i32* getelementptr inbounds ([20 x i32], [20 x i32]* @ai3, i64 0, i64 4) to <4 x i32>*), align 16
  ret void
}

; Function Attrs: argmemonly nounwind readonly
declare <4 x i8> @llvm.masked.load.v4i8.p0v4i8(<4 x i8>*, i32, <4 x i1>, <4 x i8>)
