2 ; RUN: llc < %s | FileCheck %s -check-prefix=NOIPRA
3 ; RUN: llc -enable-ipra < %s | FileCheck %s
6 target triple = "x86_64-unknown-unknown"
10 define preserve_allcc void @foo()#0 {
11 ; Due to preserve_allcc foo() will save some registers at start of foo()
12 ; prefix NOIPRA will verify that.
15 ; NOIPRA-NEXT: pushq %r9
16 ; NOIPRA-NEXT: pushq %r8
18 ; When IPRA is present above registers will not be saved and that is verified
21 ; CHECK-NOT: pushq %r10
22 ; CHECK-NOT: pushq %r9
23 ; CHECK-NOT: pushq %r8
33 define preserve_nonecc void @foo2()#0 {
34 ; Due to preserve_nonecc foo2() will save above registers no matter IPRA is
37 ; NOIPRA-NOT: pushq %r10
38 ; NOIPRA-NOT: pushq %r9
39 ; NOIPRA-NOT: pushq %r8
42 ; CHECK-NOT: pushq %r10
43 ; CHECK-NOT: pushq %r9
44 ; CHECK-NOT: pushq %r8
51 attributes #0 = {nounwind}