1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 04:32:44 +01:00
llvm-mirror/test/CodeGen/PowerPC/aix-lr.ll
Hubert Tong 9a733a7710 Reland r368691: "[AIX] Implement LR prolog/epilog save/restore"
Trying again with the code changes (and not just the new test).

Summary:
This patch fixes the offsets of fields in the stack frame linkage save
area for AIX.

Reviewers: sfertile, hubert.reinterpretcast, jasonliu, Xiangling_L, xingxue, ZarkoCA, daltenty

Reviewed By: hubert.reinterpretcast

Subscribers: wuzish, nemanjai, hiraditya, kbarton, MaskRay, jsji, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D64424

Patch by Chris Bowler!

llvm-svn: 368721
2019-08-13 17:05:53 +00:00

33 lines
658 B
LLVM

; RUN: llc -verify-machineinstrs -mtriple powerpc-ibm-aix-xcoff < %s | \
; RUN: FileCheck --check-prefix=32BIT %s
; RUN: llc -verify-machineinstrs -mtriple powerpc64-ibm-aix-xcoff < %s | \
; RUN: FileCheck --check-prefix=64BIT %s
define void @bar() {
entry:
; 32BIT: mflr 0
; 32BIT: stw 0, 8(1)
; 32BIT: stwu 1, -64(1)
; 32BIT: bl .foo
; 32BIT: nop
; 32BIT: addi 1, 1, 64
; 32BIT: lwz 0, 8(1)
; 32BIT: mtlr 0
; 64BIT: mflr 0
; 64BIT: std 0, 16(1)
; 64BIT: stdu 1, -112(1)
; 64BIT: bl .foo
; 64BIT: nop
; 64BIT: addi 1, 1, 112
; 64BIT: ld 0, 16(1)
; 64BIT: mtlr 0
call void bitcast (void (...)* @foo to void ()*)()
ret void
}
declare void @foo(...)