[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / CodeGen / SystemZ / addr-03.ll
blob1a5c10d050aa3771a498017f64d6decca4369d08
1 ; Test constant addresses, unlikely as they are.
3 ; RUN: llc < %s -mtriple=s390x-linux-gnu | FileCheck %s
5 define 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, i8 *%ptr
11   ret void
14 define 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, i8 *%ptr
20   ret void
23 define 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, i8 *%ptr
29   ret void
32 define 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, i8 *%ptr
38   ret void
41 define 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, i8 *%ptr
47   ret void