; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py ; RUN: llc < %s -mtriple=x86_64-unknown | FileCheck %s define void @main.41() local_unnamed_addr #1 { ; CHECK-LABEL: main.41: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vpbroadcastw (%rax), %ymm0 ; CHECK-NEXT: vmovdqu (%rax), %ymm1 ; CHECK-NEXT: vmovdqa {{.*#+}} ymm2 = [31,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14] ; CHECK-NEXT: vpermi2w %ymm0, %ymm1, %ymm2 ; CHECK-NEXT: vcvtph2ps %ymm2, %zmm0 ; CHECK-NEXT: vcvtph2ps %ymm1, %zmm1 ; CHECK-NEXT: vcmpeqps %zmm0, %zmm1, %k1 ; CHECK-NEXT: vmovdqu8 {{.*#+}} xmm0 {%k1} {z} = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1] ; CHECK-NEXT: vmovdqa %xmm0, (%rax) ; CHECK-NEXT: vzeroupper ; CHECK-NEXT: retq entry: %.pre = load half, ptr undef, align 16 %vector.recur.init = insertelement <16 x half> poison, half %.pre, i64 15 %wide.load = load <16 x half>, ptr undef, align 2 %0 = shufflevector <16 x half> %vector.recur.init, <16 x half> %wide.load, <16 x i32> %1 = fcmp oeq <16 x half> %wide.load, %0 %2 = zext <16 x i1> %1 to <16 x i8> store <16 x i8> %2, ptr undef, align 16 ret void } attributes #1 = { nounwind uwtable "target-cpu"="skx" }