blob: 75efd9d4a0d6b104586cc314691ee9273daf651c [file] [log] [blame]
Tim Northovere3d42362013-02-01 11:40:47 +00001; RUN: llc -verify-machineinstrs < %s -mtriple=aarch64-none-linux-gnu | FileCheck %s
Tim Northovere0e3aef2013-01-31 12:12:40 +00002
3@var32 = global i32 0
4@var64 = global i64 0
5
6define void @foo() {
Stephen Lind24ab202013-07-14 06:24:09 +00007; CHECK-LABEL: foo:
Tim Northovere0e3aef2013-01-31 12:12:40 +00008
9 %val1 = load volatile i32* @var32
10 %tst1 = icmp eq i32 %val1, 0
11 br i1 %tst1, label %end, label %test2
12; CHECK: cbz {{w[0-9]+}}, .LBB
13
14test2:
15 %val2 = load volatile i32* @var32
16 %tst2 = icmp ne i32 %val2, 0
17 br i1 %tst2, label %end, label %test3
18; CHECK: cbnz {{w[0-9]+}}, .LBB
19
20test3:
21 %val3 = load volatile i64* @var64
22 %tst3 = icmp eq i64 %val3, 0
23 br i1 %tst3, label %end, label %test4
24; CHECK: cbz {{x[0-9]+}}, .LBB
25
26test4:
27 %val4 = load volatile i64* @var64
28 %tst4 = icmp ne i64 %val4, 0
29 br i1 %tst4, label %end, label %test5
30; CHECK: cbnz {{x[0-9]+}}, .LBB
31
32test5:
33 store volatile i64 %val4, i64* @var64
34 ret void
35
36end:
37 ret void
Stephen Linf799e3f2013-07-13 20:38:47 +000038}