1*43213002SChen Zheng; RUN: llc -mtriple=powerpc %s -o - | FileCheck %s --check-prefixes=CHECK,PPC32 2*43213002SChen Zheng; RUN: llc -mtriple=powerpc64 %s -o - | FileCheck %s --check-prefixes=CHECK,PPC64 3*43213002SChen Zheng 4*43213002SChen Zheng@a = global i32 0, align 4 5*43213002SChen Zheng 6*43213002SChen Zhengdefine void @f0() { 7*43213002SChen Zheng; CHECK-LABEL: f0: 8*43213002SChen Zheng; CHECK-NOT: nop 9*43213002SChen Zheng; CHECK: # %bb.0: 10*43213002SChen Zheng; CHECK-NEXT: blr 11*43213002SChen Zheng; CHECK-NOT: .section __patchable_function_entries 12*43213002SChen Zheng ret void 13*43213002SChen Zheng} 14*43213002SChen Zheng 15*43213002SChen Zhengdefine void @f1() "patchable-function-entry"="0" { 16*43213002SChen Zheng; CHECK-LABEL: f1: 17*43213002SChen Zheng; CHECK-NOT: nop 18*43213002SChen Zheng; CHECK: # %bb.0: 19*43213002SChen Zheng; CHECK-NEXT: blr 20*43213002SChen Zheng; CHECK-NOT: .section __patchable_function_entries 21*43213002SChen Zheng ret void 22*43213002SChen Zheng} 23*43213002SChen Zheng 24*43213002SChen Zhengdefine void @f2() "patchable-function-entry"="1" { 25*43213002SChen Zheng; CHECK-LABEL: f2: 26*43213002SChen Zheng; CHECK-LABEL-NEXT: .Lfunc_begin2: 27*43213002SChen Zheng; CHECK: # %bb.0: 28*43213002SChen Zheng; CHECK-NEXT: nop 29*43213002SChen Zheng; CHECK-NEXT: blr 30*43213002SChen Zheng; CHECK: .section __patchable_function_entries 31*43213002SChen Zheng; PPC32: .p2align 2, 0x0 32*43213002SChen Zheng; PPC64: .p2align 3, 0x0 33*43213002SChen Zheng; PPC32-NEXT: .long .Lfunc_begin2 34*43213002SChen Zheng; PPC64-NEXT: .quad .Lfunc_begin2 35*43213002SChen Zheng ret void 36*43213002SChen Zheng} 37*43213002SChen Zheng 38*43213002SChen Zhengdefine i32 @f3() "patchable-function-entry"="1" "patchable-function-prefix"="2" { 39*43213002SChen Zheng; CHECK-LABEL: .Ltmp0: 40*43213002SChen Zheng; CHECK-COUNT-2: nop 41*43213002SChen Zheng; CHECK-LABEL: f3: 42*43213002SChen Zheng; CHECK: # %bb.0: 43*43213002SChen Zheng; CHECK-NEXT: nop 44*43213002SChen Zheng; PPC32: lis 3, a@ha 45*43213002SChen Zheng; PPC32-NEXT: lwz 3, a@l(3) 46*43213002SChen Zheng; PPC64: addis 3, 2, .LC0@toc@ha 47*43213002SChen Zheng; PPC64-NEXT: ld 3, .LC0@toc@l(3) 48*43213002SChen Zheng; PPC64-NEXT: lwz 3, 0(3) 49*43213002SChen Zheng; CHECK: blr 50*43213002SChen Zheng; CHECK: .section __patchable_function_entries 51*43213002SChen Zheng; PPC32: .p2align 2, 0x0 52*43213002SChen Zheng; PPC64: .p2align 3, 0x0 53*43213002SChen Zheng; PPC32-NEXT: .long .Ltmp0 54*43213002SChen Zheng; PPC64-NEXT: .quad .Ltmp0 55*43213002SChen Zhengentry: 56*43213002SChen Zheng %0 = load i32, ptr @a, align 4 57*43213002SChen Zheng ret i32 %0 58*43213002SChen Zheng} 59