1; Test constant addresses, unlikely as they are.
2;
3; RUN: llc < %s -mtriple=s390x-linux-gnu | FileCheck %s
4
5define void @f1() {
6; CHECK-LABEL: f1:
7; 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() {
15; CHECK-LABEL: f2:
16; 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() {
24; CHECK-LABEL: f3:
25; 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() {
33; CHECK-LABEL: f4:
34; 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() {
42; CHECK-LABEL: f5:
43; 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}
49