Home | History | Annotate | Download | only in Inputs
      1     .text
      2     .globl func
      3     .def func; .scl 2; .type 32; .endef
      4     .seh_proc func
      5 func:
      6     .seh_pushframe @code
      7     subq $24, %rsp
      8     .seh_stackalloc 24
      9     movq %rsi, 16(%rsp)
     10     .seh_savereg %rsi, 16
     11     movups %xmm8, (%rsp)
     12     .seh_savexmm %xmm8, 0
     13     pushq %rbx
     14     .seh_pushreg 3
     15     mov %rsp, %rbx
     16     .seh_setframe 3, 0
     17     .seh_endprologue
     18     .seh_handler __C_specific_handler, @except
     19     .seh_handlerdata
     20     .long 0
     21     .text
     22     .seh_startchained
     23     .seh_endprologue
     24     .seh_endchained
     25     lea (%rbx), %rsp
     26     pop %rbx
     27     addq $24, %rsp
     28     ret
     29     .seh_endproc
     30 
     31 // Test emission of small functions.
     32     .globl smallFunc
     33     .def smallFunc; .scl 2; .type 32; .endef
     34     .seh_proc smallFunc
     35 smallFunc:
     36     ret
     37     .seh_endproc
     38 
     39 // Function with big stack allocation.
     40     .globl allocFunc
     41     .def allocFunc; .scl 2; .type 32; .endef
     42     .seh_proc allocFunc
     43 allocFunc:
     44     .seh_pushframe @code
     45     subq $65520, %rsp
     46     .seh_stackalloc 65520
     47     sub $8454128, %rsp
     48     .seh_stackalloc 8454128
     49     .seh_endprologue
     50     add $8454128, %rsp
     51     addq $65520, %rsp
     52     ret
     53     .seh_endproc
     54