brintos

brintos / llvm-project-archived public Read only

0
0
Text · 936 B · d0915e2 Raw
37 lines · plain
1; RUN: llc -mtriple=x86_64-unknown-linux < %s | FileCheck -check-prefix X8664 %s2; RUN: llc -mtriple=i686-unknown-linux < %s | FileCheck -check-prefix X8632 %s3; Check that all callee-saved registers are saved and restored in functions4; that call __builtin_unwind_init(). This is its undocumented behavior in gcc,5; and it is used in compiling libgcc_eh.6; See also PR85417 8declare void @llvm.eh.unwind.init()9 10define void @calls_unwind_init() {11  call void @llvm.eh.unwind.init()12  ret void13}14 15; X8664-LABEL: calls_unwind_init:16; X8664: pushq %rbp17; X8664: pushq %r1518; X8664: pushq %r1419; X8664: pushq %r1320; X8664: pushq %r1221; X8664: pushq %rbx22; X8664: popq %rbx23; X8664: popq %r1224; X8664: popq %r1325; X8664: popq %r1426; X8664: popq %r1527 28; X8632-LABEL: calls_unwind_init:29; X8632: pushl %ebp30; X8632: pushl %ebx31; X8632: pushl %edi32; X8632: pushl %esi33; X8632: popl %esi34; X8632: popl %edi35; X8632: popl %ebx36; X8632: popl %ebp37