xref: /llvm-project/llvm/test/CodeGen/PowerPC/llc_default_cpu.ll (revision a51712751c184ebe056718c938d2526693a31564)
1; Test that the default CPU for the triple powerpc64-unknown-linux-gnu is ppc64.
2; RUN: llc < %s -mtriple=powerpc64-unknown-linux-gnu -frame-pointer=all -mcpu=ppc | FileCheck %s -check-prefixes=LNX-PPC,LNX-COM
3; RUN: llc < %s -mtriple=powerpc64-unknown-linux-gnu -frame-pointer=all | FileCheck %s -check-prefixes=LNX-PPC64,LNX-COM
4; RUN: llc < %s -mtriple=powerpc64-unknown-linux-gnu -frame-pointer=all -mcpu=ppc64 | FileCheck %s -check-prefixes=LNX-PPC64,LNX-COM
5
6; Test that the default CPU for the AIX OS is pwr7.
7; RUN: llc < %s -mtriple=powerpc-ibm-aix-xcoff -mcpu=ppc | FileCheck %s -check-prefixes=AIX-PPC,AIX-COM
8; RUN: llc < %s -mtriple=powerpc-ibm-aix-xcoff -mcpu=pwr7 | FileCheck %s -check-prefixes=AIX-PWR7,AIX-COM
9; RUN: llc < %s -mtriple=powerpc-ibm-aix-xcoff | FileCheck %s -check-prefixes=AIX-PWR7,AIX-COM
10
11; RUN: llc < %s -mtriple=powerpc64-ibm-aix-xcoff -mcpu=ppc | FileCheck %s -check-prefixes=AIX64-PPC,AIX64-COM-NEXT
12; RUN: llc < %s -mtriple=powerpc64-ibm-aix-xcoff -mcpu=pwr7 | FileCheck %s -check-prefixes=AIX64-PWR7,AIX64-COM-NEXT
13; RUN: llc < %s -mtriple=powerpc64-ibm-aix-xcoff | FileCheck %s -check-prefixes=AIX64-PWR7,AIX64-COM-NEXT
14
15define i32 @main() {
16entry:
17  %retval = alloca i32, i32 8191, align 4
18  store i32 0, ptr %retval, align 4
19  ret i32 0
20}
21
22;        LNX-COM: .Lfunc_begin0:
23;   LNX-COM-NEXT:      .cfi_startproc
24;   LNX-COM-NEXT: # %bb.0:                                # %entry
25;   LNX-COM-NEXT:      lis 0, -1
26;   LNX-PPC-NEXT:      ori 0, 0, 32704
27;   LNX-PPC-NEXT:      std 31, -8(1)
28; LNX-PPC64-NEXT:      std 31, -8(1)
29; LNX-PPC64-NEXT:      ori 0, 0, 32704
30;   LNX-COM-NEXT:      stdux 1, 1, 0
31;   LNX-COM-NEXT:      .cfi_def_cfa_offset 32832
32;   LNX-COM-NEXT:      .cfi_offset r31, -8
33;   LNX-COM-NEXT:      mr      31, 1
34;   LNX-COM-NEXT:      .cfi_def_cfa_register r31
35;   LNX-COM-NEXT:      li 4, 0
36;   LNX-COM-NEXT:      li 3, 0
37;   LNX-COM-NEXT:      stw 4, 60(31)
38;   LNX-COM-NEXT:      ld 1, 0(1)
39;   LNX-COM-NEXT:      ld 31, -8(1)
40;   LNX-COM-NEXT:      blr
41;   LNX-COM-NEXT:      .long   0
42;   LNX-COM-NEXT:      .quad   0
43;   LNX-COM-NEXT: .Lfunc_end0:
44
45;       AIX-COM: .main:
46;  AIX-COM-NEXT: # %bb.0:                                # %entry
47;  AIX-COM-NEXT:      lis 0, -1
48;  AIX-COM-NEXT:      ori 0, 0, 32736
49;  AIX-COM-NEXT:      stwux 1, 1, 0
50;  AIX-PPC-NEXT:      li 4, 0
51;  AIX-COM-NEXT:      li 3, 0
52;  AIX-PPC-NEXT:      stw 4, 36(1)
53; AIX-PWR7-NEXT:      stw 3, 36(1)
54;  AIX-COM-NEXT:      lwz 1, 0(1)
55;  AIX-COM-NEXT:      blr
56
57;       AIX64-COM: .main:
58;  AIX64-COM-NEXT: # %bb.0:                                # %entry
59;  AIX64-COM-NEXT:    lis 0, -1
60;  AIX64-COM-NEXT:    ori 0, 0, 32720
61;  AIX64-COM-NEXT:    stdux 1, 1, 0
62;  AIX64-PPC-NEXT:    li 4, 0
63;  AIX64-COM-NEXT:    li 3, 0
64;  AIX64-PPC-NEXT:    stw 4, 52(1)
65; AIX64-PWR7-NEXT:    stw 3, 52(1)
66;  AIX64-COM-NEXT:    ld 1, 0(1)
67;  AIX64-COM-NEXT:    blr
68