[llvm-readobj] - Simplify stack-sizes.test test case.
[llvm-complete.git] / test / MC / AsmParser / directive_seh.s
blob139195dcb4976b6e48166488026b2cbc767b58f5
1 # RUN: llvm-mc -triple x86_64-pc-win32 %s | FileCheck %s
3 .text
4 .globl func
5 .def func; .scl 2; .type 32; .endef
6 .seh_proc func
7 # CHECK: .seh_proc func
8 func:
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 %rsi, 16
17 .seh_savereg 6, 16
18 # CHECK: .seh_savereg %rsi, 16
19 movups %xmm8, (%rsp)
20 .seh_savexmm %xmm8, 0
21 # CHECK: .seh_savexmm %xmm8, 0
22 .seh_savexmm 8, 0
23 # CHECK: .seh_savexmm %xmm8, 0
24 pushq %rbx
25 .seh_pushreg %rbx
26 # CHECK: .seh_pushreg %rbx
27 .seh_pushreg 3
28 # CHECK: .seh_pushreg %rbx
29 mov %rsp, %rbx
30 .seh_setframe 3, 0
31 # CHECK: .seh_setframe %rbx, 0
32 .seh_endprologue
33 # CHECK: .seh_endprologue
34 .seh_handler __C_specific_handler, @except
35 # CHECK: .seh_handler __C_specific_handler, @except
36 .seh_handlerdata
37 # CHECK-NOT: .section{{.*}}.xdata
38 # CHECK: .seh_handlerdata
39 .long 0
40 .text
41 .seh_startchained
42 .seh_endprologue
43 .seh_endchained
44 # CHECK: .text
45 # CHECK: .seh_startchained
46 # CHECK: .seh_endprologue
47 # CHECK: .seh_endchained
48 lea (%rbx), %rsp
49 pop %rbx
50 addq $24, %rsp
51 ret
52 .seh_endproc
53 # CHECK: .seh_endproc