1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 18:54:02 +01:00
llvm-mirror/test/CodeGen/PowerPC/aix-reference-func-addr-const.ll
Zarko Todorovski d5cb6187da [PPC][AIX] Add vector callee saved registers for AIX extended vector ABI
This patch is the initial patch for support of the AIX extended vector ABI.  The extended ABI treats vector registers V20-V31 as non-volatile and we add them as callee saved registers in this patch.

Reviewed By: sfertile

Differential Revision: https://reviews.llvm.org/D88676
2020-11-24 23:01:51 -05:00

39 lines
1.2 KiB
LLVM

; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mattr=-altivec -mtriple powerpc-ibm-aix-xcoff \
; RUN: -data-sections=false < %s | FileCheck %s
; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mattr=-altivec -mtriple powerpc64-ibm-aix-xcoff \
; RUN: -data-sections=false < %s | FileCheck --check-prefix=CHECK64 %s
@foo_ptr = global void (...)* @foo
declare void @foo(...)
@bar_ptr1 = global void (...)* bitcast (void ()* @bar to void (...)*)
define void @bar() {
entry:
ret void
}
;CHECK: .csect .data[RW],2
;CHECK-NEXT: .globl foo_ptr
;CHECK-NEXT: .align 2
;CHECK-NEXT: foo_ptr:
;CHECK-NEXT: .vbyte 4, foo[DS]
;CHECK-NEXT: .globl bar_ptr1
;CHECK-NEXT: .align 2
;CHECK-NEXT: bar_ptr1:
;CHECK-NEXT: .vbyte 4, bar[DS]
;CHECK-NEXT: .extern .foo[PR]
;CHECK-NEXT: .extern foo[DS]
;CHECK64: .csect .data[RW],3
;CHECK64-NEXT: .globl foo_ptr
;CHECK64-NEXT: .align 3
;CHECK64-NEXT: foo_ptr:
;CHECK64-NEXT: .vbyte 8, foo[DS]
;CHECK64-NEXT: .globl bar_ptr1
;CHECK64-NEXT: .align 3
;CHECK64-NEXT: bar_ptr1:
;CHECK64-NEXT: .vbyte 8, bar[DS]
;CHECK64-NEXT: .extern .foo[PR]
;CHECK64-NEXT: .extern foo[DS]