blob: 5f14d12249f532decd1d76089e8ecf05c9125711 [file] [log] [blame]
Ulrich Weigand9e3577f2013-05-06 16:17:29 +00001; Test indirect calls.
2;
3; RUN: llc < %s -mtriple=s390x-linux-gnu | FileCheck %s
4
5; We must allocate 160 bytes for the callee and save and restore %r14.
6define i64 @f1(i64() *%bar) {
Stephen Lind24ab202013-07-14 06:24:09 +00007; CHECK-LABEL: f1:
Ulrich Weigand9e3577f2013-05-06 16:17:29 +00008; CHECK: stmg %r14, %r15, 112(%r15)
9; CHECK: aghi %r15, -160
10; CHECK: basr %r14, %r2
11; CHECK: lmg %r14, %r15, 272(%r15)
12; CHECK: br %r14
13 %ret = call i64 %bar()
14 %inc = add i64 %ret, 1
15 ret i64 %inc
16}