54 lines · plain
1 .text2 .globl func3 .def func; .scl 2; .type 32; .endef4 .seh_proc func5func:6 .seh_pushframe @code7 subq $24, %rsp8 .seh_stackalloc 249 movq %rsi, 16(%rsp)10 .seh_savereg %rsi, 1611 movups %xmm8, (%rsp)12 .seh_savexmm %xmm8, 013 pushq %rbx14 .seh_pushreg %rbx15 mov %rsp, %rbx16 .seh_setframe 3, 017 .seh_endprologue18 .seh_handler __C_specific_handler, @except19 .seh_handlerdata20 .long 021 .text22 .seh_startchained23 .seh_endprologue24 .seh_endchained25 lea (%rbx), %rsp26 pop %rbx27 addq $24, %rsp28 ret29 .seh_endproc30 31// Test emission of small functions.32 .globl smallFunc33 .def smallFunc; .scl 2; .type 32; .endef34 .seh_proc smallFunc35smallFunc:36 ret37 .seh_endproc38 39// Function with big stack allocation.40 .globl allocFunc41 .def allocFunc; .scl 2; .type 32; .endef42 .seh_proc allocFunc43allocFunc:44 .seh_pushframe @code45 subq $65520, %rsp46 .seh_stackalloc 6552047 sub $8454128, %rsp48 .seh_stackalloc 845412849 .seh_endprologue50 add $8454128, %rsp51 addq $65520, %rsp52 ret53 .seh_endproc54