11; RUN: llc -mtriple=powerpc %s -o - | FileCheck %s --check-prefixes=CHECK,PPC32
22; RUN: llc -mtriple=powerpc64 %s -o - | FileCheck %s --check-prefixes=CHECK,PPC64
3+ ; RUN: llc -mtriple=powerpc64le %s -o - | FileCheck %s --check-prefix=PPC64LE
34
45@a = global i32 0 , align 4
56
@@ -9,6 +10,12 @@ define void @f0() {
910; CHECK: # %bb.0:
1011; CHECK-NEXT: blr
1112; CHECK-NOT: .section __patchable_function_entries
13+ ;
14+ ; PPC64LE-LABEL: f0:
15+ ; PPC64LE-NOT: nop
16+ ; PPC64LE: # %bb.0:
17+ ; PPC64LE-NEXT: blr
18+ ; PPC64LE-NOT: .section __patchable_function_entries
1219 ret void
1320}
1421
@@ -18,6 +25,22 @@ define void @f1() "patchable-function-entry"="0" {
1825; CHECK: # %bb.0:
1926; CHECK-NEXT: blr
2027; CHECK-NOT: .section __patchable_function_entries
28+ ;
29+ ; PPC64LE-LABEL: f1:
30+ ; PPC64LE: # %bb.0:
31+ ; PPC64LE-NEXT: .Ltmp0:
32+ ; PPC64LE-NEXT: b .Ltmp1
33+ ; PPC64LE-NEXT: nop
34+ ; PPC64LE-NEXT: std 0, -8(1)
35+ ; PPC64LE-NEXT: mflr 0
36+ ; PPC64LE-NEXT: bl __xray_FunctionEntry
37+ ; PPC64LE-NEXT: nop
38+ ; PPC64LE-NEXT: mtlr 0
39+ ; PPC64LE-NEXT: .Ltmp1:
40+ ; PPC64LE-NEXT: blr
41+ ; PPC64LE-NOT: .section __patchable_function_entries
42+ ; PPC64LE: .section xray_instr_map
43+ ; PPC64LE: .section xray_fn_idx
2144 ret void
2245}
2346
@@ -32,6 +55,17 @@ define void @f2() "patchable-function-entry"="1" {
3255; PPC64: .p2align 3, 0x0
3356; PPC32-NEXT: .long .Lfunc_begin2
3457; PPC64-NEXT: .quad .Lfunc_begin2
58+ ;
59+ ; PPC64LE-LABEL: f2:
60+ ; PPC64LE-LABEL-NEXT: .Lfunc_begin2:
61+ ; PPC64LE: # %bb.0:
62+ ; PPC64LE-NEXT: nop
63+ ; PPC64LE-NEXT: blr
64+ ; PPC64LE: .section __patchable_function_entries
65+ ; PPC64LE: .p2align 3, 0x0
66+ ; PPC64LE-NEXT: .quad .Lfunc_begin2
67+ ; PPC64LE-NOT: .section xray_instr_map
68+ ; PPC64LE-NOT: .section xray_fn_idx
3569 ret void
3670}
3771
@@ -52,6 +86,21 @@ define i32 @f3() "patchable-function-entry"="1" "patchable-function-prefix"="2"
5286; PPC64: .p2align 3, 0x0
5387; PPC32-NEXT: .long .Ltmp0
5488; PPC64-NEXT: .quad .Ltmp0
89+ ;
90+ ; PC64LE-LABEL: .Ltmp3:
91+ ; PC64LE-COUNT-2: nop
92+ ; PC64LE-LABEL: f3:
93+ ; PC64LE: # %bb.0:
94+ ; PC64LE-NEXT: nop
95+ ; PC64LE: addis 3, 2, .LC0@toc@ha
96+ ; PC64LE-NEXT: ld 3, .LC0@toc@l(3)
97+ ; PC64LE-NEXT: lwz 3, 0(3)
98+ ; PC64LE: blr
99+ ; PC64LE: .section __patchable_function_entries
100+ ; PPC64LE: .p2align 3, 0x0
101+ ; PPC64LE-NEXT: .quad .Ltmp3
102+ ; PC64LE-NOT: .section xray_instr_map
103+ ; PC64LE-NOT: .section xray_fn_idx
55104entry:
56105 %0 = load i32 , ptr @a , align 4
57106 ret i32 %0
0 commit comments