1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=skx | FileCheck %s
3
4define void @PR50374() {
5; CHECK-LABEL: PR50374:
6; CHECK:       # %bb.0: # %while.84.body.preheader
7; CHECK-NEXT:    .p2align 4, 0x90
8; CHECK-NEXT:  .LBB0_1: # %vector.body1999
9; CHECK-NEXT:    # =>This Inner Loop Header: Depth=1
10; CHECK-NEXT:    jmp .LBB0_1
11while.84.body.preheader:
12  %0 = load i8, i8* undef, align 1
13  %1 = load i8, i8* undef, align 4
14  %.not14.2.2 = icmp eq i8 0, 0
15  %2 = and i8 %0, 1
16  %.not14.1.2 = icmp eq i8 %2, 0
17  %3 = select i1 %.not14.2.2, i1 %.not14.1.2, i1 false
18  %.not14.2361 = icmp eq i8 0, 0
19  %4 = select i1 %3, i1 %.not14.2361, i1 false
20  %add.10961.i.2.2 = select reassoc nsz contract i1 %4, float 0.000000e+00, float 0x7FF8000000000000
21  %broadcast.splatinsert2024 = insertelement <8 x float> poison, float %add.10961.i.2.2, i32 0
22  %broadcast.splat2025 = shufflevector <8 x float> %broadcast.splatinsert2024, <8 x float> poison, <8 x i32> zeroinitializer
23  %broadcast.splatinsert2049 = insertelement <8 x i8> poison, i8 %1, i32 0
24  %broadcast.splat2050 = shufflevector <8 x i8> %broadcast.splatinsert2049, <8 x i8> poison, <8 x i32> zeroinitializer
25  br label %vector.body1999
26
27vector.body1999:                                  ; preds = %vector.body1999, %while.84.body.preheader
28  %predphi2026 = select <8 x i1> undef, <8 x float> undef, <8 x float> %broadcast.splat2025
29  %predphi2051 = select <8 x i1> undef, <8 x i8> %broadcast.splat2050, <8 x i8> undef
30  br label %vector.body1999
31}
32