1 ; RUN: llc -mtriple aarch64-windows-gnu -filetype=asm -o - %s | FileCheck %s 2 3 define void @_Z1gv() personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) { 4 entry: 5 invoke void @_Z1fv() 6 to label %try.cont unwind label %lpad 7 8 lpad: 9 %0 = landingpad { i8*, i32 } 10 catch i8* null 11 %1 = extractvalue { i8*, i32 } %0, 0 12 %2 = tail call i8* @__cxa_begin_catch(i8* %1) #2 13 tail call void @__cxa_end_catch() 14 br label %try.cont 15 16 try.cont: 17 ret void 18 } 19 20 declare void @_Z1fv() 21 22 declare i32 @__gxx_personality_v0(...) 23 24 declare i8* @__cxa_begin_catch(i8*) 25 26 declare void @__cxa_end_catch() 27 28 ; CHECK-LABEL: _Z1gv: 29 ; CHECK: .cfi_startproc 30 ; CHECK: .cfi_personality 0, __gxx_personality_v0 31 ; CHECK: .cfi_lsda 0, .Lexception0 32 ; CHECK: str x30, [sp, #-16]! 33 ; CHECK: .cfi_def_cfa_offset 16 34 ; CHECK: .cfi_offset w30, -16 35 ; CHECK: ldr x30, [sp], #16 36 ; CHECK: .cfi_endproc 37