mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 03:33:20 +01:00
2a8d3d1229
1. The available program storage region of the red zone to compilers is 288 bytes rather than 244 bytes. 2. The formula for negative number alignment calculation should be y = x & ~(n-1) rather than y = (x + (n-1)) & ~(n-1). Differential Revision: https://reviews.llvm.org/D34337 llvm-svn: 307672
40 lines
867 B
LLVM
40 lines
867 B
LLVM
; RUN: llc -verify-machineinstrs -mtriple="powerpc-unknown-linux-gnu" < %s | FileCheck %s --check-prefix=PPC32
|
|
; RUN: llc -verify-machineinstrs -mtriple="powerpc64-unknown-linux-gnu" < %s | FileCheck %s --check-prefix=PPC64
|
|
; PR15332
|
|
|
|
define i32 @regalloc() nounwind {
|
|
entry:
|
|
%0 = add i32 1, 2
|
|
ret i32 %0
|
|
}
|
|
; PPC32-LABEL: regalloc:
|
|
; PPC32-NOT: stwu 1, -{{[0-9]+}}(1)
|
|
; PPC32: blr
|
|
|
|
; PPC64-LABEL: regalloc:
|
|
; PPC64-NOT: stdu 1, -{{[0-9]+}}(1)
|
|
; PPC64: blr
|
|
|
|
define i8* @smallstack() nounwind {
|
|
entry:
|
|
%0 = alloca i8, i32 4
|
|
ret i8* %0
|
|
}
|
|
; PPC32-LABEL: smallstack:
|
|
; PPC32: stwu 1, -16(1)
|
|
|
|
; PPC64-LABEL: smallstack:
|
|
; PPC64-NOT: stdu 1, -{{[0-9]+}}(1)
|
|
; PPC64: blr
|
|
|
|
define i8* @bigstack() nounwind {
|
|
entry:
|
|
%0 = alloca i8, i32 290
|
|
ret i8* %0
|
|
}
|
|
; PPC32-LABEL: bigstack:
|
|
; PPC32: stwu 1, -304(1)
|
|
|
|
; PPC64-LABEL: bigstack:
|
|
; PPC64: stdu 1, -352(1)
|