1c23a780cSMin-Yih Hsu; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py 2c23a780cSMin-Yih Hsu; RUN: llc < %s -O0 -mtriple=m68k-linux-gnu -verify-machineinstrs \ 3c23a780cSMin-Yih Hsu; RUN: -code-model=medium -relocation-model=pic \ 4c23a780cSMin-Yih Hsu; RUN: | FileCheck %s 5c23a780cSMin-Yih Hsu 6c23a780cSMin-Yih Hsudefine weak void @weak_foo() { 7c23a780cSMin-Yih Hsu; CHECK-LABEL: weak_foo: 8c23a780cSMin-Yih Hsu; CHECK: .cfi_startproc 9c23a780cSMin-Yih Hsu; CHECK-NEXT: ; %bb.0: 10c23a780cSMin-Yih Hsu; CHECK-NEXT: rts 11c23a780cSMin-Yih Hsu ret void 12c23a780cSMin-Yih Hsu} 13c23a780cSMin-Yih Hsu 14c23a780cSMin-Yih Hsudefine weak_odr void @weak_odr_foo() { 15c23a780cSMin-Yih Hsu; CHECK-LABEL: weak_odr_foo: 16c23a780cSMin-Yih Hsu; CHECK: .cfi_startproc 17c23a780cSMin-Yih Hsu; CHECK-NEXT: ; %bb.0: 18c23a780cSMin-Yih Hsu; CHECK-NEXT: rts 19c23a780cSMin-Yih Hsu ret void 20c23a780cSMin-Yih Hsu} 21c23a780cSMin-Yih Hsu 22c23a780cSMin-Yih Hsudefine internal void @internal_foo() { 23c23a780cSMin-Yih Hsu; CHECK-LABEL: internal_foo: 24c23a780cSMin-Yih Hsu; CHECK: .cfi_startproc 25c23a780cSMin-Yih Hsu; CHECK-NEXT: ; %bb.0: 26c23a780cSMin-Yih Hsu; CHECK-NEXT: rts 27c23a780cSMin-Yih Hsu ret void 28c23a780cSMin-Yih Hsu} 29c23a780cSMin-Yih Hsu 30c23a780cSMin-Yih Hsudeclare i32 @ext_baz() 31c23a780cSMin-Yih Hsu 32c23a780cSMin-Yih Hsudefine void @foo() { 33c23a780cSMin-Yih Hsu; CHECK-LABEL: foo: 34c23a780cSMin-Yih Hsu; CHECK: .cfi_startproc 35c23a780cSMin-Yih Hsu; CHECK-NEXT: ; %bb.0: 36c23a780cSMin-Yih Hsu; CHECK-NEXT: rts 37c23a780cSMin-Yih Hsu ret void 38c23a780cSMin-Yih Hsu} 39c23a780cSMin-Yih Hsu 40c23a780cSMin-Yih Hsudefine void @bar() { 41c23a780cSMin-Yih Hsu; CHECK-LABEL: bar: 42c23a780cSMin-Yih Hsu; CHECK: .cfi_startproc 43c23a780cSMin-Yih Hsu; CHECK-NEXT: ; %bb.0: ; %entry 44*657bb726SMin-Yih Hsu; CHECK-NEXT: suba.l #4, %sp 45c23a780cSMin-Yih Hsu; CHECK-NEXT: .cfi_def_cfa_offset -8 46c23a780cSMin-Yih Hsu; CHECK-NEXT: jsr (foo@PLT,%pc) 47c23a780cSMin-Yih Hsu; CHECK-NEXT: jsr (weak_odr_foo@PLT,%pc) 48c23a780cSMin-Yih Hsu; CHECK-NEXT: jsr (weak_foo@PLT,%pc) 49c23a780cSMin-Yih Hsu; CHECK-NEXT: jsr (internal_foo,%pc) 50c23a780cSMin-Yih Hsu; CHECK-NEXT: jsr (ext_baz@PLT,%pc) 51*657bb726SMin-Yih Hsu; CHECK-NEXT: adda.l #4, %sp 52c23a780cSMin-Yih Hsu; CHECK-NEXT: rts 53c23a780cSMin-Yih Hsuentry: 54c23a780cSMin-Yih Hsu call void @foo() 55c23a780cSMin-Yih Hsu call void @weak_odr_foo() 56c23a780cSMin-Yih Hsu call void @weak_foo() 57c23a780cSMin-Yih Hsu call void @internal_foo() 58c23a780cSMin-Yih Hsu call i32 @ext_baz() 59c23a780cSMin-Yih Hsu ret void 60c23a780cSMin-Yih Hsu} 61c23a780cSMin-Yih Hsu 62c23a780cSMin-Yih Hsu; -fpie for local global data tests should be added here 63c23a780cSMin-Yih Hsu 64c23a780cSMin-Yih Hsu!llvm.module.flags = !{!0, !1} 65c23a780cSMin-Yih Hsu!0 = !{i32 1, !"PIC Level", i32 1} 66c23a780cSMin-Yih Hsu!1 = !{i32 1, !"PIE Level", i32 1} 67