Home | History | Annotate | Download | only in SystemZ
      1 ; Test constant addresses, unlikely as they are.
      2 ;
      3 ; RUN: llc < %s -mtriple=s390x-linux-gnu | FileCheck %s
      4 
      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 *%ptr
     11   ret void
     12 }
     13 
     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 *%ptr
     20   ret void
     21 }
     22 
     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 *%ptr
     29   ret void
     30 }
     31 
     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 *%ptr
     38   ret void
     39 }
     40 
     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 *%ptr
     47   ret void
     48 }
     49