xref: /aosp_15_r20/external/llvm/test/CodeGen/PowerPC/func-addr.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple powerpc64-linux < %s | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker; RUN: llc -O0 -mtriple powerpc64-linux < %s | FileCheck %s
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Workerdefine void @foo()  {
5*9880d681SAndroid Build Coastguard Worker  ret void
6*9880d681SAndroid Build Coastguard Worker}
7*9880d681SAndroid Build Coastguard Workerdeclare i32 @bar(i8*)
8*9880d681SAndroid Build Coastguard Worker
9*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: {{^}}zed:
10*9880d681SAndroid Build Coastguard Worker; CHECK:        addis 3, 2, foo@toc@ha
11*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:   addi 3, 3, foo@toc@l
12*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:   bl bar
13*9880d681SAndroid Build Coastguard Worker
14*9880d681SAndroid Build Coastguard Workerdefine  void @zed() {
15*9880d681SAndroid Build Coastguard Worker  call i32 @bar(i8* bitcast (void ()* @foo to i8*))
16*9880d681SAndroid Build Coastguard Worker  ret void
17*9880d681SAndroid Build Coastguard Worker}
18