diff options
Diffstat (limited to 'llvm/test/CodeGen/X86/undef-label.ll')
| -rw-r--r-- | llvm/test/CodeGen/X86/undef-label.ll | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/llvm/test/CodeGen/X86/undef-label.ll b/llvm/test/CodeGen/X86/undef-label.ll index 1afd93527b8..54d9bddbb84 100644 --- a/llvm/test/CodeGen/X86/undef-label.ll +++ b/llvm/test/CodeGen/X86/undef-label.ll @@ -1,13 +1,29 @@ +; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py ; RUN: llc < %s -mtriple=x86_64-linux | FileCheck %s ; This is a case where we would incorrectly conclude that LBB0_1 could only ; be reached via fall through and would therefore omit the label. -; CHECK: jne .LBB0_1 -; CHECK-NEXT: jnp .LBB0_3 -; CHECK-NEXT: .LBB0_1: - define void @xyz() { +; CHECK-LABEL: xyz: +; CHECK: # %bb.0: # %entry +; CHECK-NEXT: xorpd %xmm0, %xmm0 +; CHECK-NEXT: ucomisd %xmm0, %xmm0 +; CHECK-NEXT: jne .LBB0_1 +; CHECK-NEXT: jnp .LBB0_3 +; CHECK-NEXT: .LBB0_1: # %foo.preheader +; CHECK-NEXT: mulsd %xmm0, %xmm1 +; CHECK-NEXT: movapd %xmm1, %xmm0 +; CHECK-NEXT: subsd %xmm0, %xmm0 +; CHECK-NEXT: divsd %xmm1, %xmm0 +; CHECK-NEXT: movsd {{.*#+}} xmm1 = mem[0],zero +; CHECK-NEXT: .p2align 4, 0x90 +; CHECK-NEXT: .LBB0_2: # %foo +; CHECK-NEXT: # =>This Inner Loop Header: Depth=1 +; CHECK-NEXT: ucomisd %xmm1, %xmm0 +; CHECK-NEXT: ja .LBB0_2 +; CHECK-NEXT: .LBB0_3: # %bar +; CHECK-NEXT: retq entry: br i1 fcmp oeq (double fsub (double undef, double undef), double 0.000000e+00), label %bar, label %foo |

