brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.0 KiB · b9997ac Raw
43 lines · plain
1; RUN: llc < %s -mtriple=s390x-linux-gnu | FileCheck %s2 3declare i64 @llvm.get.dynamic.area.offset.i64()4 5declare void @use(i64)6 7define void @f1() {8; CHECK-LABEL: f19; CHECK: la %r2, 16010; CHECK: brasl %r14, use11; CHECK: br %r1412  %tmp = alloca i64, align 3213  %dynamic_area_offset = call i64 @llvm.get.dynamic.area.offset.i64()14  call void @use(i64 %dynamic_area_offset)15  ret void16}17 18define void @f2(i64 %arg) {19; CHECK-LABEL: f220; CHECK: la %r2, 160(%r2)21; CHECK: brasl %r14, use22; CHECK: br %r1423  %tmp = alloca i64, align 3224  %dynamic_area_offset = call i64 @llvm.get.dynamic.area.offset.i64()25  %param = add i64 %dynamic_area_offset, %arg26  call void @use(i64 %param)27  ret void28}29 30declare void @eatsalot(i64, i64, i64, i64, i64, i64)31 32define void @f3() {33; CHECK-LABEL: f334; CHECK: la %r2, 16835; CHECK: brasl %r14, use36; CHECK: br %r1437  %tmp = alloca i64, align 3238  call void @eatsalot(i64 0, i64 0, i64 0, i64 0, i64 0, i64 0)39  %dynamic_area_offset = call i64 @llvm.get.dynamic.area.offset.i64()40  call void @use(i64 %dynamic_area_offset)41  ret void42}43