xref: /llvm-project/llvm/test/CodeGen/X86/pr120093.ll (revision 0954c67d7ae412af9f8da5149565d9af837ac575)
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
2; RUN: llc < %s -mtriple=x86_64-unknown-linux-gnu | FileCheck %s
3
4define double @PR120093() {
5; CHECK-LABEL: PR120093:
6; CHECK:       # %bb.0: # %bb
7; CHECK-NEXT:    xorpd %xmm0, %xmm0
8; CHECK-NEXT:    xorpd %xmm1, %xmm1
9; CHECK-NEXT:    movhpd {{.*#+}} xmm1 = xmm1[0],mem[0]
10; CHECK-NEXT:    cmpnltpd %xmm1, %xmm0
11; CHECK-NEXT:    movmskpd %xmm0, %eax
12; CHECK-NEXT:    cmpl $3, %eax
13; CHECK-NEXT:    jne .LBB0_2
14; CHECK-NEXT:  # %bb.1: # %bb2
15; CHECK-NEXT:    xorpd %xmm0, %xmm0
16; CHECK-NEXT:    retq
17; CHECK-NEXT:  .LBB0_2: # %bb3
18bb:
19  %insertelement = insertelement <2 x double> <double poison, double 0xFFFFFFFFFFFFFFFF>, double 0.000000e+00, i64 0
20  %fcmp = fcmp uge <2 x double> zeroinitializer, %insertelement
21  %extractelement = extractelement <2 x i1> %fcmp, i64 0
22  %extractelement1 = extractelement <2 x i1> %fcmp, i64 1
23  %select = select i1 %extractelement, i1 %extractelement1, i1 false
24  br i1 %select, label %bb2, label %bb3
25
26bb2:                                              ; preds = %bb
27  ret double 0.000000e+00
28
29bb3:                                              ; preds = %bb
30  unreachable
31}
32