blob: 4e0f69d195c2ef26ba419ab077c2ccb29ebe2224 [file] [log] [blame]
Tim Northover3b0846e2014-05-24 12:50:23 +00001; RUN: llc -verify-machineinstrs -o - %s -mtriple=aarch64-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
David Blaikiea79ac142015-02-27 21:17:42 +00009 %val1 = load volatile i32, i32* @var32
Tim Northovere0e3aef2013-01-31 12:12:40 +000010 %tst1 = icmp eq i32 %val1, 0
11 br i1 %tst1, label %end, label %test2
12; CHECK: cbz {{w[0-9]+}}, .LBB
13
14test2:
David Blaikiea79ac142015-02-27 21:17:42 +000015 %val2 = load volatile i32, i32* @var32
Tim Northovere0e3aef2013-01-31 12:12:40 +000016 %tst2 = icmp ne i32 %val2, 0
17 br i1 %tst2, label %end, label %test3
18; CHECK: cbnz {{w[0-9]+}}, .LBB
19
20test3:
David Blaikiea79ac142015-02-27 21:17:42 +000021 %val3 = load volatile i64, i64* @var64
Tim Northovere0e3aef2013-01-31 12:12:40 +000022 %tst3 = icmp eq i64 %val3, 0
23 br i1 %tst3, label %end, label %test4
24; CHECK: cbz {{x[0-9]+}}, .LBB
25
26test4:
David Blaikiea79ac142015-02-27 21:17:42 +000027 %val4 = load volatile i64, i64* @var64
Tim Northovere0e3aef2013-01-31 12:12:40 +000028 %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}