comparison test/CodeGen/X86/fast-isel-cmp-branch.ll @ 0:95c75e76d11b LLVM3.4

LLVM 3.4
author Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
date Thu, 12 Dec 2013 13:56:28 +0900
parents
children 60c9769439b8
comparison
equal deleted inserted replaced
-1:000000000000 0:95c75e76d11b
1 ; RUN: llc -O0 -mtriple=x86_64-linux -asm-verbose=false < %s | FileCheck %s
2 ; RUN: llc -O0 -mtriple=x86_64-win32 -asm-verbose=false < %s | FileCheck %s
3 ; rdar://8337108
4
5 ; Fast-isel shouldn't try to look through the compare because it's in a
6 ; different basic block, so its operands aren't necessarily exported
7 ; for cross-block usage.
8
9 ; CHECK: movb %al, [[OFS:[0-9]*]](%rsp)
10 ; CHECK: callq {{_?}}bar
11 ; CHECK: movb [[OFS]](%rsp), %al
12
13 declare void @bar()
14
15 define void @foo(i32 %a, i32 %b) nounwind {
16 entry:
17 %q = add i32 %a, 7
18 %r = add i32 %b, 9
19 %t = icmp ult i32 %q, %r
20 invoke void @bar() to label %next unwind label %unw
21 next:
22 br i1 %t, label %true, label %return
23 true:
24 call void @bar()
25 br label %return
26 return:
27 ret void
28 unw:
29 %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
30 cleanup
31 unreachable
32 }
33
34 declare i32 @__gxx_personality_v0(...)