AArch64/ARM64: enable more AArch64 tests on ARM64.
[oota-llvm.git] / test / CodeGen / AArch64 / compare-branch.ll
1 ; RUN: llc -verify-machineinstrs < %s -mtriple=aarch64-none-linux-gnu | FileCheck %s
2 ; RUN: llc -verify-machineinstrs -o - %s -mtriple=arm64-linux-gnu | FileCheck %s
3
4 @var32 = global i32 0
5 @var64 = global i64 0
6
7 define void @foo() {
8 ; CHECK-LABEL: foo:
9
10   %val1 = load volatile i32* @var32
11   %tst1 = icmp eq i32 %val1, 0
12   br i1 %tst1, label %end, label %test2
13 ; CHECK: cbz {{w[0-9]+}}, .LBB
14
15 test2:
16   %val2 = load volatile i32* @var32
17   %tst2 = icmp ne i32 %val2, 0
18   br i1 %tst2, label %end, label %test3
19 ; CHECK: cbnz {{w[0-9]+}}, .LBB
20
21 test3:
22   %val3 = load volatile i64* @var64
23   %tst3 = icmp eq i64 %val3, 0
24   br i1 %tst3, label %end, label %test4
25 ; CHECK: cbz {{x[0-9]+}}, .LBB
26
27 test4:
28   %val4 = load volatile i64* @var64
29   %tst4 = icmp ne i64 %val4, 0
30   br i1 %tst4, label %end, label %test5
31 ; CHECK: cbnz {{x[0-9]+}}, .LBB
32
33 test5:
34   store volatile i64 %val4, i64* @var64
35   ret void
36
37 end:
38   ret void
39 }