; Test constant addresses, unlikely as they are.
;
; RUN: llc < %s -mtriple=s390x-linux-gnu | FileCheck %s

define void @f1() {
; CHECK-LABEL: f1:
; CHECK: lb %r0, 0
; CHECK: br %r14
  %ptr = inttoptr i64 0 to i8 *
  %val = load volatile i8 , i8 *%ptr
  ret void
}

define void @f2() {
; CHECK-LABEL: f2:
; CHECK: lb %r0, -524288
; CHECK: br %r14
  %ptr = inttoptr i64 -524288 to i8 *
  %val = load volatile i8 , i8 *%ptr
  ret void
}

define void @f3() {
; CHECK-LABEL: f3:
; CHECK-NOT: lb %r0, -524289
; CHECK: br %r14
  %ptr = inttoptr i64 -524289 to i8 *
  %val = load volatile i8 , i8 *%ptr
  ret void
}

define void @f4() {
; CHECK-LABEL: f4:
; CHECK: lb %r0, 524287
; CHECK: br %r14
  %ptr = inttoptr i64 524287 to i8 *
  %val = load volatile i8 , i8 *%ptr
  ret void
}

define void @f5() {
; CHECK-LABEL: f5:
; CHECK-NOT: lb %r0, 524288
; CHECK: br %r14
  %ptr = inttoptr i64 524288 to i8 *
  %val = load volatile i8 , i8 *%ptr
  ret void
}
