xref: /aosp_15_r20/external/llvm/test/CodeGen/PowerPC/calls.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; Test various forms of calls.
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -march=ppc32 | \
4*9880d681SAndroid Build Coastguard Worker; RUN:   grep "bl " | count 1
5*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -march=ppc32 | \
6*9880d681SAndroid Build Coastguard Worker; RUN:   grep "bctrl" | count 1
7*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -march=ppc32 | \
8*9880d681SAndroid Build Coastguard Worker; RUN:   grep "bla " | count 1
9*9880d681SAndroid Build Coastguard Worker
10*9880d681SAndroid Build Coastguard Workerdeclare void @foo()
11*9880d681SAndroid Build Coastguard Worker
12*9880d681SAndroid Build Coastguard Workerdefine void @test_direct() {
13*9880d681SAndroid Build Coastguard Worker        call void @foo( )
14*9880d681SAndroid Build Coastguard Worker        ret void
15*9880d681SAndroid Build Coastguard Worker}
16*9880d681SAndroid Build Coastguard Worker
17*9880d681SAndroid Build Coastguard Workerdefine void @test_indirect(void ()* %fp) {
18*9880d681SAndroid Build Coastguard Worker        call void %fp( )
19*9880d681SAndroid Build Coastguard Worker        ret void
20*9880d681SAndroid Build Coastguard Worker}
21*9880d681SAndroid Build Coastguard Worker
22*9880d681SAndroid Build Coastguard Workerdefine void @test_abs() {
23*9880d681SAndroid Build Coastguard Worker        %fp = inttoptr i32 400 to void ()*              ; <void ()*> [#uses=1]
24*9880d681SAndroid Build Coastguard Worker        call void %fp( )
25*9880d681SAndroid Build Coastguard Worker        ret void
26*9880d681SAndroid Build Coastguard Worker}
27*9880d681SAndroid Build Coastguard Worker
28