Mercurial > hg > CbC > CbC_llvm
comparison test/CodeGen/AArch64/fast-isel-branch-cond-split.ll @ 100:7d135dc70f03 LLVM 3.9
LLVM 3.9
author | Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 26 Jan 2016 22:53:40 +0900 |
parents | afa8332a0e37 |
children | 1172e4bd9c6f |
comparison
equal
deleted
inserted
replaced
96:6418606d0ead | 100:7d135dc70f03 |
---|---|
42 ; CHECK: cmp w0, #0 | 42 ; CHECK: cmp w0, #0 |
43 ; CHECK-NEXT: cset w8, eq | 43 ; CHECK-NEXT: cset w8, eq |
44 ; CHECK-NEXT: cmp w1, #0 | 44 ; CHECK-NEXT: cmp w1, #0 |
45 ; CHECK-NEXT: cset w9, eq | 45 ; CHECK-NEXT: cset w9, eq |
46 ; CHECK-NEXT: orr w8, w8, w9 | 46 ; CHECK-NEXT: orr w8, w8, w9 |
47 ; CHECK-NEXT: and w8, w8, #0x1 | 47 ; CHECK-NEXT: tbnz w8, #0, |
48 ; CHECK-NEXT: cmp w8, #0 | |
49 ; CHECK-NEXT: b.ne | |
50 define i64 @test_or_unpredictable(i32 %a, i32 %b) { | 48 define i64 @test_or_unpredictable(i32 %a, i32 %b) { |
51 bb1: | 49 bb1: |
52 %0 = icmp eq i32 %a, 0 | 50 %0 = icmp eq i32 %a, 0 |
53 %1 = icmp eq i32 %b, 0 | 51 %1 = icmp eq i32 %b, 0 |
54 %or.cond = or i1 %0, %1 | 52 %or.cond = or i1 %0, %1 |
66 ; CHECK: cmp w0, #0 | 64 ; CHECK: cmp w0, #0 |
67 ; CHECK-NEXT: cset w8, ne | 65 ; CHECK-NEXT: cset w8, ne |
68 ; CHECK-NEXT: cmp w1, #0 | 66 ; CHECK-NEXT: cmp w1, #0 |
69 ; CHECK-NEXT: cset w9, ne | 67 ; CHECK-NEXT: cset w9, ne |
70 ; CHECK-NEXT: and w8, w8, w9 | 68 ; CHECK-NEXT: and w8, w8, w9 |
71 ; CHECK-NEXT: and w8, w8, #0x1 | 69 ; CHECK-NEXT: tbz w8, #0, |
72 ; CHECK-NEXT: cmp w8, #0 | |
73 ; CHECK-NEXT: b.eq | |
74 define i64 @test_and_unpredictable(i32 %a, i32 %b) { | 70 define i64 @test_and_unpredictable(i32 %a, i32 %b) { |
75 bb1: | 71 bb1: |
76 %0 = icmp ne i32 %a, 0 | 72 %0 = icmp ne i32 %a, 0 |
77 %1 = icmp ne i32 %b, 0 | 73 %1 = icmp ne i32 %b, 0 |
78 %or.cond = and i1 %0, %1 | 74 %or.cond = and i1 %0, %1 |