xref: /llvm-project/llvm/test/CodeGen/X86/apx/pushp-popp.ll (revision 0d471b3f64d3116bd57c79d872f7384fff80daa5)
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+ppx | FileCheck %s --check-prefix=CHECK
3; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+ppx -frame-pointer=all | FileCheck %s --check-prefix=FRAME
4
5define void @csr2() nounwind {
6; CHECK-LABEL: csr2:
7; CHECK:       # %bb.0: # %entry
8; CHECK-NEXT:    pushp %rbp
9; CHECK-NEXT:    pushp %r15
10; CHECK-NEXT:    #APP
11; CHECK-NEXT:    #NO_APP
12; CHECK-NEXT:    popp %r15
13; CHECK-NEXT:    popp %rbp
14; CHECK-NEXT:    retq
15;
16; FRAME-LABEL: csr2:
17; FRAME:       # %bb.0: # %entry
18; FRAME-NEXT:    pushp %rbp
19; FRAME-NEXT:    movq %rsp, %rbp
20; FRAME-NEXT:    pushp %r15
21; FRAME-NEXT:    pushp %rbp
22; FRAME-NEXT:    pushq %rax
23; FRAME-NEXT:    #APP
24; FRAME-NEXT:    #NO_APP
25; FRAME-NEXT:    popq %rax
26; FRAME-NEXT:    popp %rbp
27; FRAME-NEXT:    popp %r15
28; FRAME-NEXT:    popp %rbp
29; FRAME-NEXT:    retq
30entry:
31  tail call void asm sideeffect "", "~{rbp},~{r15},~{dirflag},~{fpsr},~{flags}"()
32  ret void
33}
34