49 lines · plain
1; Test constant addresses, unlikely as they are.2;3; RUN: llc < %s -mtriple=s390x-linux-gnu | FileCheck %s4 5define void @f1() {6; CHECK-LABEL: f1:7; CHECK: lb %r0, 08; CHECK: br %r149 %ptr = inttoptr i64 0 to ptr10 %val = load volatile i8, ptr %ptr11 ret void12}13 14define void @f2() {15; CHECK-LABEL: f2:16; CHECK: lb %r0, -52428817; CHECK: br %r1418 %ptr = inttoptr i64 -524288 to ptr19 %val = load volatile i8, ptr %ptr20 ret void21}22 23define void @f3() {24; CHECK-LABEL: f3:25; CHECK-NOT: lb %r0, -52428926; CHECK: br %r1427 %ptr = inttoptr i64 -524289 to ptr28 %val = load volatile i8, ptr %ptr29 ret void30}31 32define void @f4() {33; CHECK-LABEL: f4:34; CHECK: lb %r0, 52428735; CHECK: br %r1436 %ptr = inttoptr i64 524287 to ptr37 %val = load volatile i8, ptr %ptr38 ret void39}40 41define void @f5() {42; CHECK-LABEL: f5:43; CHECK-NOT: lb %r0, 52428844; CHECK: br %r1445 %ptr = inttoptr i64 524288 to ptr46 %val = load volatile i8, ptr %ptr47 ret void48}49