[AVX512] Add vpermil variable version
[oota-llvm.git] / test / MC / AsmParser / directive_seh.s
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
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 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