func-addr.ll 481 Bytes
; RUN: llc -relocation-model=static -verify-machineinstrs -mtriple powerpc64-linux < %s | FileCheck %s
; RUN: llc -relocation-model=static -verify-machineinstrs -O0 -mtriple powerpc64-linux < %s | FileCheck %s

define void @foo()  {
  ret void
}
declare i32 @bar(i8*)

; CHECK-LABEL: {{^}}zed:
; CHECK:        addis 3, 2, foo@toc@ha
; CHECK-NEXT:   addi 3, 3, foo@toc@l
; CHECK-NEXT:   bl bar

define  void @zed() {
  call i32 @bar(i8* bitcast (void ()* @foo to i8*))
  ret void
}