1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py 2 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown | FileCheck %s 3 4 declare void @bar() 5 6 define void @foo(i64*) { 7 ; CHECK-LABEL: foo: 8 ; CHECK: # %bb.0: # %start 9 ; CHECK-NEXT: movq (%rdi), %rax 10 ; CHECK-NEXT: andl $-2, %eax 11 ; CHECK-NEXT: cmpq $4, %rax 12 ; CHECK-NEXT: jne .LBB0_2 13 ; CHECK-NEXT: # %bb.1: # %bb1 14 ; CHECK-NEXT: retq 15 ; CHECK-NEXT: .LBB0_2: # %bb2.i 16 ; CHECK-NEXT: jmp bar # TAILCALL 17 start: 18 %1 = load i64, i64* %0, align 8, !range !0 19 %2 = and i64 %1, 6 20 %3 = icmp eq i64 %2, 4 21 br i1 %3, label %bb1, label %bb2.i 22 23 bb1: ; preds = %bb2.i, %start 24 ret void 25 26 bb2.i: ; preds = %start 27 tail call fastcc void @bar() 28 br label %bb1 29 } 30 31 !0 = !{i64 0, i64 6} 32