; RUN: llc < %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

