1 # RUN: not llvm-mc -triple x86_64-windows-msvc %s -filetype=obj -o /dev/null 2>&1 | FileCheck %s --implicit-check-not=error:
2 # RUN: not llvm-mc -triple x86_64-windows-msvc %s -o /dev/null 2>&1 | FileCheck %s --implicit-check-not=error:
5 # CHECK: error: .seh_ directive must appear within an active frame
9 # CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: .seh_ directive must appear within an active frame
12 # CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: .seh_ directive must appear within an active frame
18 .globl f # -- Begin function f
30 # CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: stack allocation size must be non-zero
32 # CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: stack allocation size is not a multiple of 8
47 # CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: .seh_ directive must appear within an active frame
57 # CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: you must specify a stack pointer offset
59 # CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: offset is not a multiple of 16
61 # CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: frame offset must be less than or equal to 240
64 # CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: frame register and offset can be set at most once
71 .globl h # -- Begin function h
78 movaps
%xmm7
, 48(%rsp
) # 16-byte Spill
80 # CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: you must specify an offset on the stack
81 .seh_savexmm %xmm7, 44
82 # CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: offset is not a multiple of 16
83 .seh_savexmm %xmm7, 48
84 movaps
%xmm6
, 32(%rsp
) # 16-byte Spill
85 .seh_savexmm %xmm6, 32
93 movaps
32(%rsp
), %xmm6
# 16-byte Reload
94 movaps
48(%rsp
), %xmm7
# 16-byte Reload
103 .def i; .scl 2; .type 32; .endef
109 # CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: incorrect register number for use with this directive
112 # CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: register is not supported for use with this directive
114 .seh_setframe %xmm0, 16
115 # CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: register is not supported for use with this directive