1# RUN: llvm-mc -triple x86_64-pc-win32 %s | FileCheck %s 2 3 .text 4 .globl func 5 .def func; .scl 2; .type 32; .endef 6 .seh_proc func 7# CHECK: .seh_proc func 8func: 9 .seh_pushframe @code 10# CHECK: .seh_pushframe @code 11 subq $24, %rsp 12 .seh_stackalloc 24 13# CHECK: .seh_stackalloc 24 14 movq %rsi, 16(%rsp) 15 .seh_savereg %rsi, 16 16# CHECK: .seh_savereg 6, 16 17 movups %xmm8, (%rsp) 18 .seh_savexmm %xmm8, 0 19# CHECK: .seh_savexmm 8, 0 20 pushq %rbx 21 .seh_pushreg 3 22# CHECK: .seh_pushreg 3 23 mov %rsp, %rbx 24 .seh_setframe 3, 0 25 .seh_endprologue 26 .seh_handler __C_specific_handler, @except 27 .seh_handlerdata 28 .long 0 29 .text 30 .seh_startchained 31 .seh_endprologue 32 .seh_endchained 33# CHECK: .seh_setframe 3, 0 34# CHECK: .seh_endprologue 35# CHECK: .seh_handler __C_specific_handler, @except 36# CHECK-NOT: .section{{.*}}.xdata 37# CHECK: .seh_handlerdata 38# CHECK: .text 39# CHECK: .seh_startchained 40# CHECK: .seh_endprologue 41# CHECK: .seh_endchained 42 lea (%rbx), %rsp 43 pop %rbx 44 addq $24, %rsp 45 ret 46 .seh_endproc 47# CHECK: .seh_endproc 48