| ; RUN: llc -verify-machineinstrs < %s | FileCheck %s |
| target datalayout = "e-m:e-i64:64-n32:64" |
| target triple = "powerpc64le-unknown-linux-gnu" |
| |
| @_ZTIi = external constant i8* |
| declare i8* @__cxa_allocate_exception(i64) |
| declare void @__cxa_throw(i8*, i8*, i8*) |
| |
| define void @crsave() { |
| entry: |
| call void asm sideeffect "", "~{cr2}"() |
| call void asm sideeffect "", "~{cr3}"() |
| call void asm sideeffect "", "~{cr4}"() |
| |
| %exception = call i8* @__cxa_allocate_exception(i64 4) |
| %0 = bitcast i8* %exception to i32* |
| store i32 0, i32* %0 |
| call void @__cxa_throw(i8* %exception, i8* bitcast (i8** @_ZTIi to i8*), i8* null) |
| unreachable |
| |
| return: ; No predecessors! |
| ret void |
| } |
| ; CHECK-LABEL: @crsave |
| ; CHECK: .cfi_offset cr2, 8 |
| ; CHECK: .cfi_offset cr3, 8 |
| ; CHECK: .cfi_offset cr4, 8 |
| |