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