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