96 lines · plain
1; RUN: llc -verify-machineinstrs < %s -mtriple=powerpc-unknown-linux-gnu | \2; RUN: FileCheck %s -check-prefix=PPC32-LINUX-NOFP3 4; RUN: llc -verify-machineinstrs < %s -mtriple=powerpc-unknown-linux-gnu \5; RUN: -frame-pointer=all | FileCheck %s -check-prefix=PPC32-LINUX-FP6 7; RUN: llc -verify-machineinstrs < %s -mtriple=powerpc64-unknown-linux-gnu | \8; RUN: FileCheck %s -check-prefix=PPC64-LINUX-NOFP9 10; RUN: llc -verify-machineinstrs < %s -mtriple=powerpc64-unknown-linux-gnu \11; RUN: -frame-pointer=all | FileCheck %s -check-prefix=PPC64-LINUX-FP12 13; RUN: llc -verify-machineinstrs < %s -mcpu=pwr4 -mattr=-altivec \14; RUN: -mtriple=powerpc-ibm-aix-xcoff | FileCheck %s \15; RUN: -check-prefix=PPC32-AIX-NOFP16 17; RUN: llc -verify-machineinstrs < %s -mcpu=pwr4 -mattr=-altivec \18; RUN: -mtriple=powerpc-ibm-aix-xcoff -frame-pointer=all | FileCheck %s \19; RUN: -check-prefix=PPC32-AIX-FP20 21; RUN: llc -verify-machineinstrs < %s -mcpu=pwr4 -mattr=-altivec \22; RUN: -mtriple=powerpc64-ibm-aix-xcoff | FileCheck %s \23; RUN: -check-prefix=PPC64-AIX-NOFP24 25; RUN: llc -verify-machineinstrs < %s -mcpu=pwr4 -mattr=-altivec \26; RUN: -mtriple=powerpc64-ibm-aix-xcoff -frame-pointer=all | FileCheck %s \27; RUN: -check-prefix=PPC64-AIX-FP28 29define ptr @frame_small() {30 %tmp = alloca i32, i32 9531 ret ptr %tmp32}33 34; The linkage area, if there is one, is still on the top of the stack after35; `alloca` space.36 37; PPC32-LINUX-NOFP-LABEL: frame_small38; PPC32-LINUX-NOFP: stwu 1, -400(1)39; PPC32-LINUX-NOFP: addi 3, 1, 2040; PPC32-LINUX-NOFP: addi 1, 1, 40041; PPC32-LINUX-NOFP: blr42 43; PPC32-LINUX-FP-LABEL: frame_small44; PPC32-LINUX-FP: stwu 1, -400(1)45; PPC32-LINUX-FP: stw 31, 396(1)46; PPC32-LINUX-FP: mr 31, 147; PPC32-LINUX-FP: addi 3, 31, 1648; PPC32-LINUX-FP: lwz 31, 396(1)49; PPC32-LINUX-FP: addi 1, 1, 40050; PPC32-LINUX-FP: blr51 52; PPC64-LINUX-NOFP-LABEL: frame_small53; PPC64-LINUX-NOFP: stdu 1, -432(1)54; PPC64-LINUX-NOFP: addi 3, 1, 5255; PPC64-LINUX-NOFP: addi 1, 1, 43256; PPC64-LINUX-NOFP: blr57 58; PPC64-LINUX-FP-LABEL: frame_small59; PPC64-LINUX-FP: std 31, -8(1)60; PPC64-LINUX-FP: stdu 1, -448(1)61; PPC64-LINUX-FP: mr 31, 162; PPC64-LINUX-FP: addi 3, 31, 6063; PPC64-LINUX-FP: addi 1, 1, 44864; PPC64-LINUX-FP: ld 31, -8(1)65; PPC64-LINUX-FP: blr66 67; PPC32-AIX-NOFP-LABEL: frame_small68; PPC32-AIX-NOFP: stwu 1, -416(1)69; PPC32-AIX-NOFP-NEXT: addi 3, 1, 3670; PPC32-AIX-NOFP-NEXT: addi 1, 1, 41671; PPC32-AIX-NOFP-NEXT: blr72 73; PPC32-AIX-FP-LABEL: frame_small74; PPC32-AIX-FP: stw 31, -4(1)75; PPC32-AIX-FP-NEXT: stwu 1, -416(1)76; PPC32-AIX-FP-NEXT: mr 31, 177; PPC32-AIX-FP-NEXT: addi 3, 31, 3278; PPC32-AIX-FP-NEXT: addi 1, 1, 41679; PPC32-AIX-FP-NEXT: lwz 31, -4(1)80; PPC32-AIX-FP-NEXT: blr81 82; PPC64-AIX-NOFP-LABEL: frame_small83; PPC64-AIX-NOFP: stdu 1, -432(1)84; PPC64-AIX-NOFP-NEXT: addi 3, 1, 5285; PPC64-AIX-NOFP-NEXT: addi 1, 1, 43286; PPC64-AIX-NOFP-NEXT: blr87 88; PPC64-AIX-FP-LABEL: frame_small89; PPC64-AIX-FP: std 31, -8(1)90; PPC64-AIX-FP-NEXT: stdu 1, -448(1)91; PPC64-AIX-FP-NEXT: mr 31, 192; PPC64-AIX-FP-NEXT: addi 3, 31, 6093; PPC64-AIX-FP-NEXT: addi 1, 1, 44894; PPC64-AIX-FP-NEXT: ld 31, -8(1)95; PPC64-AIX-FP-NEXT: blr96