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