[Demangle] Add a few more options to the microsoft demangler
[llvm-complete.git] / test / CodeGen / X86 / undef-label.ll
blobb4be383d55ddcd42ee055d37e5f0a4aac653a05c
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc < %s -mtriple=x86_64-linux | FileCheck %s
4 ; This is a case where we would incorrectly conclude that LBB0_1 could only
5 ; be reached via fall through and would therefore omit the label.
7 @g = global i32 0
9 define void @xyz() {
10 ; CHECK-LABEL: xyz:
11 ; CHECK:       # %bb.0: # %entry
12 ; CHECK-NEXT:    movl $g, %eax
13 ; CHECK-NEXT:    movq %rax, %xmm0
14 ; CHECK-NEXT:    xorps %xmm1, %xmm1
15 ; CHECK-NEXT:    ucomisd %xmm1, %xmm0
16 ; CHECK-NEXT:    jne .LBB0_1
17 ; CHECK-NEXT:    jnp .LBB0_2
18 ; CHECK-NEXT:    .p2align 4, 0x90
19 ; CHECK-NEXT:  .LBB0_1: # %foo
20 ; CHECK-NEXT:    # =>This Inner Loop Header: Depth=1
21 ; CHECK-NEXT:    ucomisd %xmm1, %xmm0
22 ; CHECK-NEXT:    ja .LBB0_1
23 ; CHECK-NEXT:  .LBB0_2: # %bar
24 ; CHECK-NEXT:    retq
25 entry:
26   br i1 fcmp oeq (double bitcast (i64 ptrtoint (i32* @g to i64) to double), double 0.000000e+00), label %bar, label %foo
28 foo:
29   br i1 fcmp ogt (double bitcast (i64 ptrtoint (i32* @g to i64) to double), double 0.000000e+00), label %foo, label %bar
31 bar:
32   ret void