xref: /llvm-project/llvm/test/CodeGen/Lanai/naked-fn-with-frame-pointer.ll (revision ad4a582fd938c933e784f0052bd773676b37b690)
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
2; RUN: llc < %s -mtriple lanai | FileCheck %s -check-prefixes=CHECK
3
4declare dso_local void @main()
5
6define dso_local void @naked() naked "frame-pointer"="all" {
7; CHECK-LABEL: naked:
8; CHECK:       .Lnaked$local:
9; CHECK-NEXT:    .type .Lnaked$local,@function
10; CHECK-NEXT:    .cfi_startproc
11; CHECK-NEXT:  ! %bb.0:
12; CHECK-NEXT:    add %pc, 0x10, %rca
13; CHECK-NEXT:    st %rca, [--%sp]
14; CHECK-NEXT:    bt main
15; CHECK-NEXT:    nop
16  call void @main()
17  unreachable
18}
19
20define dso_local void @normal() "frame-pointer"="all" {
21; CHECK-LABEL: normal:
22; CHECK:       .Lnormal$local:
23; CHECK-NEXT:    .type .Lnormal$local,@function
24; CHECK-NEXT:    .cfi_startproc
25; CHECK-NEXT:  ! %bb.0:
26; CHECK-NEXT:    st %fp, [--%sp]
27; CHECK-NEXT:    add %sp, 0x8, %fp
28; CHECK-NEXT:    sub %sp, 0x8, %sp
29; CHECK-NEXT:    add %pc, 0x10, %rca
30; CHECK-NEXT:    st %rca, [--%sp]
31; CHECK-NEXT:    bt main
32; CHECK-NEXT:    nop
33  call void @main()
34  unreachable
35}
36