1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
; RUN: llc -mtriple powerpc-ibm-aix-xcoff < %s 2>&1 | \
; RUN: FileCheck %s --check-prefix=32BIT
; RUN: llc -mtriple powerpc64-ibm-aix-xcoff < %s 2>&1 -mattr=-altivec | \
; RUN: FileCheck %s --check-prefix=64BIT
define void @create_trampoline(ptr %buffer, ptr %nval) nounwind {
entry:
call void @llvm.init.trampoline(ptr %buffer, ptr @nested , ptr %nval)
ret void
}
declare i32 @nested(i32);
declare void @llvm.init.trampoline(ptr, ptr, ptr) nounwind
; 32BIT: stw 4, 8(3)
; 32BIT: lwz [[FuncDesc:[0-9]+]], L..C0(2)
; 32BIT-DAG: lwz [[SCRATCH1:[0-9]+]], 0([[FuncDesc]])
; 32BIT-DAG: lwz [[SCRATCH2:[0-9]+]], 4([[FuncDesc]])
; 32BIT-DAG: stw [[SCRATCH1]], 0(3)
; 32BIT-DAG: stw [[SCRATCH2]], 4(3)
; 64BIT: std 4, 16(3)
; 64BIT-DAG: ld [[FuncDesc:[0-9]+]], L..C0(2)
; 64BIT-DAG: ld [[SCRATCH1:[0-9]+]], 0([[FuncDesc]])
; 64BIT-DAG: ld [[SCRATCH2:[0-9]+]], 8([[FuncDesc]])
; 64BIT-DAG: std [[SCRATCH1]], 0(3)
; 64BIT-DAG: std [[SCRATCH2]], 8(3)
|