43 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=x86_64-unknown-unknown | FileCheck %s3 4declare dso_local void @bar()5 6define void @test1(i64 %foo) nounwind {7; CHECK-LABEL: test1:8; CHECK: # %bb.0:9; CHECK-NEXT: btq $32, %rdi10; CHECK-NEXT: jb bar # TAILCALL11; CHECK-NEXT: # %bb.1: # %if.end12; CHECK-NEXT: retq13 %and = and i64 %foo, 429496729614 %tobool = icmp eq i64 %and, 015 br i1 %tobool, label %if.end, label %if.then16 17if.then:18 tail call void @bar() nounwind19 br label %if.end20 21if.end:22 ret void23}24 25define void @test2(i64 %foo) nounwind {26; CHECK-LABEL: test2:27; CHECK: # %bb.0:28; CHECK-NEXT: testl %edi, %edi29; CHECK-NEXT: js bar # TAILCALL30; CHECK-NEXT: # %bb.1: # %if.end31; CHECK-NEXT: retq32 %and = and i64 %foo, 214748364833 %tobool = icmp eq i64 %and, 034 br i1 %tobool, label %if.end, label %if.then35 36if.then:37 tail call void @bar() nounwind38 br label %if.end39 40if.end:41 ret void42}43