1 ; RUN: llc < %s -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr7 -verify-machineinstrs | FileCheck %s 2 ; RUN: llc < %s -mtriple=powerpc64-unknown-linux-gnu -mcpu=a2 -verify-machineinstrs | FileCheck %s 3 ; RUN: llc < %s -mtriple=powerpc64le-unknown-linux-gnu -mcpu=pwr8 -verify-machineinstrs | FileCheck %s 4 5 target datalayout = "e-m:e-i64:64-n32:64" 6 target triple = "powerpc64le-unknown-linux-gnu" 7 8 ; Function Attrs: noinline nounwind 9 define void @_Z23BuiltinLongJmpFunc1_bufv() #0 { 10 entry: 11 call void @llvm.eh.sjlj.longjmp(i8* bitcast (void ()* @_Z23BuiltinLongJmpFunc1_bufv to i8*)) 12 unreachable 13 14 ; CHECK: @_Z23BuiltinLongJmpFunc1_bufv 15 ; CHECK: addis [[REG:[0-9]+]], 2, .LC0@toc@ha 16 ; CHECK: ld 31, 0([[REG]]) 17 ; CHECK: ld [[REG2:[0-9]+]], 8([[REG]]) 18 ; CHECK-DAG: ld 1, 16([[REG]]) 19 ; CHECK-DAG: ld 30, 32([[REG]]) 20 ; CHECK-DAG: ld 2, 24([[REG]]) 21 ; CHECK-DAG: mtctr [[REG2]] 22 ; CHECK: bctr 23 24 return: ; No predecessors! 25 ret void 26 } 27 28 ; Function Attrs: noreturn nounwind 29 declare void @llvm.eh.sjlj.longjmp(i8*) #1 30