aboutsummaryrefslogtreecommitdiff
path: root/llvm/test/CodeGen/X86/frame-pointer-reserved.ll
blob: bf5887fe505084969843cd03f241dce7e3c9af19 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
; RUN: llc < %s -mtriple=x86_64-unknown-unknown | FileCheck %s

declare void @bar(i32, i32)

define void @foo(i32 %0, i32 %1) nounwind "frame-pointer"="reserved" {
; CHECK-LABEL: foo:
; CHECK:       # %bb.0:
; CHECK-NEXT:    pushq %r14
; CHECK-NEXT:    pushq %rbx
; CHECK-NEXT:    pushq %rax
; CHECK-NEXT:    movl %esi, %ebx
; CHECK-NEXT:    movl %edi, %r14d
; CHECK-NEXT:    callq bar@PLT
; CHECK-NEXT:    movl %r14d, %edi
; CHECK-NEXT:    movl %ebx, %esi
; CHECK-NEXT:    callq bar@PLT
; CHECK-NEXT:    addq $8, %rsp
; CHECK-NEXT:    popq %rbx
; CHECK-NEXT:    popq %r14
; CHECK-NEXT:    retq
  call void @bar(i32 %0, i32 %1)
  call void @bar(i32 %0, i32 %1)
  ret void
}