blob: 99bf2218c5538f5fb56adcb0ebea064e6462a9c9 [file] [log] [blame] [edit]
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
; RUN: llc < %s -mtriple=x86_64-unknown-linux-gnu | FileCheck %s
define double @PR120093() {
; CHECK-LABEL: PR120093:
; CHECK: # %bb.0: # %bb
; CHECK-NEXT: xorpd %xmm0, %xmm0
; CHECK-NEXT: xorpd %xmm1, %xmm1
; CHECK-NEXT: movhpd {{.*#+}} xmm1 = xmm1[0],mem[0]
; CHECK-NEXT: cmpnltpd %xmm1, %xmm0
; CHECK-NEXT: movmskpd %xmm0, %eax
; CHECK-NEXT: cmpl $3, %eax
; CHECK-NEXT: jne .LBB0_2
; CHECK-NEXT: # %bb.1: # %bb2
; CHECK-NEXT: xorpd %xmm0, %xmm0
; CHECK-NEXT: retq
; CHECK-NEXT: .LBB0_2: # %bb3
bb:
%insertelement = insertelement <2 x double> <double poison, double 0xFFFFFFFFFFFFFFFF>, double 0.000000e+00, i64 0
%fcmp = fcmp uge <2 x double> zeroinitializer, %insertelement
%extractelement = extractelement <2 x i1> %fcmp, i64 0
%extractelement1 = extractelement <2 x i1> %fcmp, i64 1
%select = select i1 %extractelement, i1 %extractelement1, i1 false
br i1 %select, label %bb2, label %bb3
bb2: ; preds = %bb
ret double 0.000000e+00
bb3: ; preds = %bb
unreachable
}