; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc < %s -O0 -mtriple=m68k-linux-gnu -verify-machineinstrs \
; RUN:              -code-model=medium -relocation-model=pic \
; RUN:   | FileCheck %s

define weak void @weak_foo() {
; CHECK-LABEL: weak_foo:
; CHECK:         .cfi_startproc
; CHECK-NEXT:  ; %bb.0:
; CHECK-NEXT:    rts
  ret void
}

define weak_odr void @weak_odr_foo() {
; CHECK-LABEL: weak_odr_foo:
; CHECK:         .cfi_startproc
; CHECK-NEXT:  ; %bb.0:
; CHECK-NEXT:    rts
  ret void
}

define internal void @internal_foo() {
; CHECK-LABEL: internal_foo:
; CHECK:         .cfi_startproc
; CHECK-NEXT:  ; %bb.0:
; CHECK-NEXT:    rts
  ret void
}

declare i32 @ext_baz()

define void @foo() {
; CHECK-LABEL: foo:
; CHECK:         .cfi_startproc
; CHECK-NEXT:  ; %bb.0:
; CHECK-NEXT:    rts
  ret void
}

define void @bar() {
; CHECK-LABEL: bar:
; CHECK:         .cfi_startproc
; CHECK-NEXT:  ; %bb.0: ; %entry
; CHECK-NEXT:    sub.l #4, %sp
; CHECK-NEXT:    .cfi_def_cfa_offset -8
; CHECK-NEXT:    jsr (foo@PLT,%pc)
; CHECK-NEXT:    jsr (weak_odr_foo@PLT,%pc)
; CHECK-NEXT:    jsr (weak_foo@PLT,%pc)
; CHECK-NEXT:    jsr (internal_foo,%pc)
; CHECK-NEXT:    jsr (ext_baz@PLT,%pc)
; CHECK-NEXT:    add.l #4, %sp
; CHECK-NEXT:    rts
entry:
  call void @foo()
  call void @weak_odr_foo()
  call void @weak_foo()
  call void @internal_foo()
  call i32 @ext_baz()
  ret void
}

; -fpie for local global data tests should be added here

!llvm.module.flags = !{!0, !1}
!0 = !{i32 1, !"PIC Level", i32 1}
!1 = !{i32 1, !"PIE Level", i32 1}
