1 // RUN
: llvm-mc
-triple x86_64-apple-darwin
-filetype
=obj
%s
-o
- | llvm-readobj
--sections | FileCheck
%s
3 // We were trying to generate compact unwind info for assembly like this.
4 // The
.cfi_def_cfa directive, however, throws a wrench into that and was
5 // causing an llvm_unreachable
() failure. Make sure the assembler can handle
6 // the input. The actual eh_frames created using these directives are checked
7 // elsewhere. This test is
a simpler
"does the code assemble" check.
14 .cfi_def_cfa_offset 16
18 .cfi_def_cfa_register rbp
22 movdqa
%xmm0
, -0x80(%rbp
)
24 movdqa
%xmm1
, -0x70(%rbp
)
26 movdqa
%xmm2
, -0x60(%rbp
)
28 movdqa
%xmm3
, -0x50(%rbp
)
30 movdqa
%xmm4
, -0x40(%rbp
)
32 movdqa
%xmm5
, -0x30(%rbp
)
34 movdqa
%xmm6
, -0x20(%rbp
)
36 movdqa
%xmm7
, -0x10(%rbp
)
39 .macro RestoreRegisters
41 movdqa
-0x80(%rbp
), %xmm0
43 movdqa
-0x70(%rbp
), %xmm1
45 movdqa
-0x60(%rbp
), %xmm2
47 movdqa
-0x50(%rbp
), %xmm3
49 movdqa
-0x40(%rbp
), %xmm4
51 movdqa
-0x30(%rbp
), %xmm5
53 movdqa
-0x20(%rbp
), %xmm6
55 movdqa
-0x10(%rbp
), %xmm7
73 // CHECK
: Name
: __eh_frame
(5F
5F
65 68 5F
66 72 61 6D
65 00 00 00 00 00 00)
74 // CHECK
: Segment
: __TEXT
(5F
5F
54 45 58 54 00 00 00 00 00 00 00 00 00 00)
75 // CHECK
: Address
: 0x70
78 // CHECK
: Alignment
: 3
79 // CHECK
: RelocationOffset
: 0x0
80 // CHECK
: RelocationCount
: 0
82 // CHECK
: Attributes
[ (0x680000)
83 // CHECK
: LiveSupport
(0x80000)
84 // CHECK
: NoTOC
(0x400000)
85 // CHECK
: StripStaticSyms
(0x200000)
87 // CHECK
: Reserved1
: 0x0
88 // CHECK
: Reserved2
: 0x0