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: Relocations [
26 // CHECK-NEXT: Relocation {
27 // CHECK-NEXT: Offset: 0x60
28 // CHECK-NEXT: PCRel: 0
29 // CHECK-NEXT: Length: 3
30 // CHECK-NEXT: Type: ARM64_RELOC_UNSIGNED (0)
31 // CHECK-NEXT: Section: __text (1)
33 // CHECK-NEXT: Relocation {
34 // CHECK-NEXT: Offset: 0x40
35 // CHECK-NEXT: PCRel: 0
36 // CHECK-NEXT: Length: 3
37 // CHECK-NEXT: Type: ARM64_RELOC_UNSIGNED (0)
38 // CHECK-NEXT: Section: __text (1)
40 // CHECK-NEXT: Relocation {
41 // CHECK-NEXT: Offset: 0x20
42 // CHECK-NEXT: PCRel: 0
43 // CHECK-NEXT: Length: 3
44 // CHECK-NEXT: Type: ARM64_RELOC_UNSIGNED (0)
45 // CHECK-NEXT: Section: __text (1)
47 // CHECK-NEXT: Relocation {
48 // CHECK-NEXT: Offset: 0x0
49 // CHECK-NEXT: PCRel: 0
50 // CHECK-NEXT: Length: 3
51 // CHECK-NEXT: Type: ARM64_RELOC_UNSIGNED (0)
52 // CHECK-NEXT: Section: __text (1)
55 // CHECK-NEXT: SectionData (
56 // CHECK-NEXT: 0000: 00000000 00000000 08000000 00000002
57 // CHECK-NEXT: 0010: 00000000 00000000 00000000 00000000
58 // CHECK-NEXT: 0020: 08000000 00000000 40000000 00900002
59 // CHECK-NEXT: 0030: 00000000 00000000 00000000 00000000
60 // CHECK-NEXT: 0040: 48000000 00000000 D4000000 0F400002
61 // CHECK-NEXT: 0050: 00000000 00000000 00000000 00000000
62 // CHECK-NEXT: 0060: 1C010000 00000000 54000000 10100202
63 // CHECK-NEXT: 0070: 00000000 00000000 00000000 00000000
67 .section __TEXT,__text,regular,pure_instructions
73 add w0, w0, #42 ; =#42
82 sub sp, sp, #144 ; =#144
84 .cfi_def_cfa_offset 144
88 ; =>This Inner Loop Header: Depth=1
89 str w9, [x8, x9, lsl #2]
97 ; =>This Inner Loop Header: Depth=1
104 add sp, sp, #144 ; =#144
113 stp x26, x25, [sp, #-64]!
114 stp x24, x23, [sp, #16]
115 stp x22, x21, [sp, #32]
116 stp x20, x19, [sp, #48]
118 .cfi_def_cfa_offset 64
136 adrp x8, _bar@GOTPAGE
138 ldr x8, [x8, _bar@GOTPAGEOFF]
174 sub w8, w8, w7, lsl #1
175 sub w8, w8, w6, lsl #1
176 sub w8, w8, w5, lsl #1
177 sub w8, w8, w4, lsl #1
178 sub w8, w8, w3, lsl #1
179 sub w8, w8, w2, lsl #1
180 sub w0, w8, w1, lsl #1
181 ldp x20, x19, [sp, #48]
182 ldp x22, x21, [sp, #32]
183 ldp x24, x23, [sp, #16]
184 ldp x26, x25, [sp], #64
186 .loh AdrpLdrGot Lloh0, Lloh1
194 stp x28, x27, [sp, #-16]!
195 sub sp, sp, #512 ; =#512
197 .cfi_def_cfa_offset 528
202 ; kill: W0<def> W0<kill> X0<def>
204 ubfx x10, x0, #0, #32
207 ; =>This Inner Loop Header: Depth=1
209 str w11, [x8, x9, lsl #2]
213 ; BB#2: ; %for.cond2.preheader
216 add x8, x8, w5, sxtw #2
218 ; =>This Inner Loop Header: Depth=1
225 add sp, sp, #512 ; =#512
226 ldp x28, x27, [sp], #16
230 .comm _bar,4,2 ; @bar
232 .subsections_via_symbols