blob: 1146926a4c2eb6473062e916d37e1da752d41684 [file] [log] [blame]
Ulrich Weigand9e3577f2013-05-06 16:17:29 +00001; Test constant addresses, unlikely as they are.
2;
3; RUN: llc < %s -mtriple=s390x-linux-gnu | FileCheck %s
4
5define void @f1() {
Stephen Lind24ab202013-07-14 06:24:09 +00006; CHECK-LABEL: f1:
Ulrich Weigand9e3577f2013-05-06 16:17:29 +00007; CHECK: lb %r0, 0
8; CHECK: br %r14
9 %ptr = inttoptr i64 0 to i8 *
10 %val = load volatile i8 *%ptr
11 ret void
12}
13
14define void @f2() {
Stephen Lind24ab202013-07-14 06:24:09 +000015; CHECK-LABEL: f2:
Ulrich Weigand9e3577f2013-05-06 16:17:29 +000016; CHECK: lb %r0, -524288
17; CHECK: br %r14
18 %ptr = inttoptr i64 -524288 to i8 *
19 %val = load volatile i8 *%ptr
20 ret void
21}
22
23define void @f3() {
Stephen Lind24ab202013-07-14 06:24:09 +000024; CHECK-LABEL: f3:
Ulrich Weigand9e3577f2013-05-06 16:17:29 +000025; CHECK-NOT: lb %r0, -524289
26; CHECK: br %r14
27 %ptr = inttoptr i64 -524289 to i8 *
28 %val = load volatile i8 *%ptr
29 ret void
30}
31
32define void @f4() {
Stephen Lind24ab202013-07-14 06:24:09 +000033; CHECK-LABEL: f4:
Ulrich Weigand9e3577f2013-05-06 16:17:29 +000034; CHECK: lb %r0, 524287
35; CHECK: br %r14
36 %ptr = inttoptr i64 524287 to i8 *
37 %val = load volatile i8 *%ptr
38 ret void
39}
40
41define void @f5() {
Stephen Lind24ab202013-07-14 06:24:09 +000042; CHECK-LABEL: f5:
Ulrich Weigand9e3577f2013-05-06 16:17:29 +000043; CHECK-NOT: lb %r0, 524288
44; CHECK: br %r14
45 %ptr = inttoptr i64 524288 to i8 *
46 %val = load volatile i8 *%ptr
47 ret void
48}