1 // RUN: llvm-mc -triple=arm64-apple-ios -filetype=obj < %s | \
2 // RUN: llvm-readobj --expand-relocs -sections -section-relocations -section-data | \
7 // FIXME: we should add compact unwind support to llvm-objdump -unwind-info
11 // CHECK-NEXT: Name: __compact_unwind
12 // CHECK-NEXT: Segment: __LD
13 // CHECK-NEXT: Address:
15 // CHECK-NEXT: Offset:
16 // CHECK-NEXT: Alignment:
17 // CHECK-NEXT: RelocationOffset:
18 // CHECK-NEXT: RelocationCount:
20 // CHECK-NEXT: Attributes [
23 // CHECK-NEXT: Reserved1:
24 // CHECK-NEXT: Reserved2:
25 // CHECK-NEXT: Reserved3:
26 // CHECK-NEXT: Relocations [
27 // CHECK-NEXT: Relocation {
28 // CHECK-NEXT: Offset: 0x60
29 // CHECK-NEXT: PCRel: 0
30 // CHECK-NEXT: Length: 3
31 // CHECK-NEXT: Type: ARM64_RELOC_UNSIGNED (0)
32 // CHECK-NEXT: Section: __text (1)
34 // CHECK-NEXT: Relocation {
35 // CHECK-NEXT: Offset: 0x40
36 // CHECK-NEXT: PCRel: 0
37 // CHECK-NEXT: Length: 3
38 // CHECK-NEXT: Type: ARM64_RELOC_UNSIGNED (0)
39 // CHECK-NEXT: Section: __text (1)
41 // CHECK-NEXT: Relocation {
42 // CHECK-NEXT: Offset: 0x20
43 // CHECK-NEXT: PCRel: 0
44 // CHECK-NEXT: Length: 3
45 // CHECK-NEXT: Type: ARM64_RELOC_UNSIGNED (0)
46 // CHECK-NEXT: Section: __text (1)
48 // CHECK-NEXT: Relocation {
49 // CHECK-NEXT: Offset: 0x0
50 // CHECK-NEXT: PCRel: 0
51 // CHECK-NEXT: Length: 3
52 // CHECK-NEXT: Type: ARM64_RELOC_UNSIGNED (0)
53 // CHECK-NEXT: Section: __text (1)
56 // CHECK-NEXT: SectionData (
57 // CHECK-NEXT: 0000: 00000000 00000000 08000000 00000002
58 // CHECK-NEXT: 0010: 00000000 00000000 00000000 00000000
59 // CHECK-NEXT: 0020: 08000000 00000000 40000000 00900002
60 // CHECK-NEXT: 0030: 00000000 00000000 00000000 00000000
61 // CHECK-NEXT: 0040: 48000000 00000000 D4000000 0F400002
62 // CHECK-NEXT: 0050: 00000000 00000000 00000000 00000000
63 // CHECK-NEXT: 0060: 1C010000 00000000 54000000 10100202
64 // CHECK-NEXT: 0070: 00000000 00000000 00000000 00000000
68 .section __TEXT,__text,regular,pure_instructions
74 add w0, w0, #42 ; =#42
83 sub sp, sp, #144 ; =#144
85 .cfi_def_cfa_offset 144
89 ; =>This Inner Loop Header: Depth=1
90 str w9, [x8, x9, lsl #2]
98 ; =>This Inner Loop Header: Depth=1
105 add sp, sp, #144 ; =#144
114 stp x26, x25, [sp, #-64]!
115 stp x24, x23, [sp, #16]
116 stp x22, x21, [sp, #32]
117 stp x20, x19, [sp, #48]
119 .cfi_def_cfa_offset 64
137 adrp x8, _bar@GOTPAGE
139 ldr x8, [x8, _bar@GOTPAGEOFF]
175 sub w8, w8, w7, lsl #1
176 sub w8, w8, w6, lsl #1
177 sub w8, w8, w5, lsl #1
178 sub w8, w8, w4, lsl #1
179 sub w8, w8, w3, lsl #1
180 sub w8, w8, w2, lsl #1
181 sub w0, w8, w1, lsl #1
182 ldp x20, x19, [sp, #48]
183 ldp x22, x21, [sp, #32]
184 ldp x24, x23, [sp, #16]
185 ldp x26, x25, [sp], #64
187 .loh AdrpLdrGot Lloh0, Lloh1
195 stp x28, x27, [sp, #-16]!
196 sub sp, sp, #512 ; =#512
198 .cfi_def_cfa_offset 528
203 ; kill: W0<def> W0<kill> X0<def>
205 ubfx x10, x0, #0, #32
208 ; =>This Inner Loop Header: Depth=1
210 str w11, [x8, x9, lsl #2]
214 ; BB#2: ; %for.cond2.preheader
217 add x8, x8, w5, sxtw #2
219 ; =>This Inner Loop Header: Depth=1
226 add sp, sp, #512 ; =#512
227 ldp x28, x27, [sp], #16
231 .comm _bar,4,2 ; @bar
233 .subsections_via_symbols