11804b579SDerek Schuff; RUN: llc -mtriple=armv7-unknown-linux-gnueabi < %s | FileCheck %s 21804b579SDerek Schuff; Check that all callee-saved registers are saved and restored in functions 31804b579SDerek Schuff; that call __builtin_unwind_init(). This is its undocumented behavior in gcc, 41804b579SDerek Schuff; and it is used in compiling libgcc_eh. 51804b579SDerek Schuff; See also PR8541 61804b579SDerek Schuff 71804b579SDerek Schuffdeclare void @llvm.eh.unwind.init() 81804b579SDerek Schuff 91804b579SDerek Schuffdefine void @calls_unwind_init() { 101804b579SDerek Schuff call void @llvm.eh.unwind.init() 111804b579SDerek Schuff ret void 121804b579SDerek Schuff} 131804b579SDerek Schuff 14*d24ab20eSStephen Lin; CHECK-LABEL: calls_unwind_init: 151804b579SDerek Schuff; CHECK: push {r4, r5, r6, r7, r8, r9, r10, r11, lr} 161804b579SDerek Schuff; CHECK: vpush {d8, d9, d10, d11, d12, d13, d14, d15} 171804b579SDerek Schuff; CHECK: vpop {d8, d9, d10, d11, d12, d13, d14, d15} 181804b579SDerek Schuff; CHECK: pop {r4, r5, r6, r7, r8, r9, r10, r11, pc} 19