| ; RUN: llc < %s -relocation-model=pic -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr7 -verify-machineinstrs | FileCheck %s |
| ; RUN: llc < %s -relocation-model=pic -mtriple=powerpc64-unknown-linux-gnu -mcpu=a2 -verify-machineinstrs | FileCheck %s |
| ; RUN: llc < %s -relocation-model=pic -mtriple=powerpc64le-unknown-linux-gnu -mcpu=pwr8 -verify-machineinstrs | FileCheck %s |
| |
| target datalayout = "e-m:e-i64:64-n32:64" |
| target triple = "powerpc64le-unknown-linux-gnu" |
| |
| ; Function Attrs: noinline nounwind |
| define void @_Z23BuiltinLongJmpFunc1_bufv() #0 { |
| entry: |
| call void @llvm.eh.sjlj.longjmp(ptr @_Z23BuiltinLongJmpFunc1_bufv) |
| unreachable |
| |
| ; CHECK: @_Z23BuiltinLongJmpFunc1_bufv |
| ; CHECK: addis [[REG:[0-9]+]], 2, .LC0@toc@ha |
| ; CHECK: ld 31, 0([[REG]]) |
| ; CHECK: ld [[REG2:[0-9]+]], 8([[REG]]) |
| ; CHECK-DAG: ld 1, 16([[REG]]) |
| ; CHECK-DAG: ld 30, 32([[REG]]) |
| ; CHECK-DAG: ld 2, 24([[REG]]) |
| ; CHECK-DAG: mtctr [[REG2]] |
| ; CHECK: bctr |
| |
| return: ; No predecessors! |
| ret void |
| } |
| |
| ; Function Attrs: noreturn nounwind |
| declare void @llvm.eh.sjlj.longjmp(ptr) #1 |