Mercurial > hg > CbC > CbC_llvm
comparison test/MC/MachO/ARM/compact-unwind-armv7k.s @ 100:7d135dc70f03 LLVM 3.9
LLVM 3.9
author | Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 26 Jan 2016 22:53:40 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
96:6418606d0ead | 100:7d135dc70f03 |
---|---|
1 @ RUN: llvm-mc -triple=thumbv7k-apple-watchos2.0.0 -filetype=obj -o %t < %s && llvm-objdump -unwind-info %t | FileCheck %s | |
2 | |
3 @ CHECK: Contents of __compact_unwind section: | |
4 | |
5 .syntax unified | |
6 .align 2 | |
7 .code 16 | |
8 | |
9 @ CHECK-LABEL: start: {{.*}} _test_r4_r5_r6 | |
10 @ CHECK: compact encoding: 0x01000007 | |
11 .thumb_func _test_r4_r5_r6 | |
12 _test_r4_r5_r6: | |
13 .cfi_startproc | |
14 push {r4, r5, r6, r7, lr} | |
15 add r7, sp, #12 | |
16 sub sp, #16 | |
17 .cfi_def_cfa r7, 8 | |
18 .cfi_offset lr, -4 | |
19 .cfi_offset r7, -8 | |
20 .cfi_offset r6, -12 | |
21 .cfi_offset r5, -16 | |
22 .cfi_offset r4, -20 | |
23 .cfi_endproc | |
24 | |
25 | |
26 @ CHECK-LABEL: start: {{.*}} _test_r4_r5_r10_r11 | |
27 @ CHECK: compact encoding: 0x01000063 | |
28 .thumb_func _test_r4_r5_r10_r11 | |
29 _test_r4_r5_r10_r11: | |
30 .cfi_startproc | |
31 push {r4, r5, r7, lr} | |
32 add r7, sp, #8 | |
33 .cfi_def_cfa r7, 8 | |
34 .cfi_offset lr, -4 | |
35 .cfi_offset r7, -8 | |
36 .cfi_offset r5, -12 | |
37 .cfi_offset r4, -16 | |
38 push.w {r10, r11} | |
39 .cfi_offset r11, -20 | |
40 .cfi_offset r10, -24 | |
41 .cfi_endproc | |
42 | |
43 | |
44 @ CHECK-LABEL: start: {{.*}} _test_d8 | |
45 @ CHECK: compact encoding: 0x02000000 | |
46 .thumb_func _test_d8 | |
47 _test_d8: | |
48 .cfi_startproc | |
49 push {r7, lr} | |
50 mov r7, sp | |
51 .cfi_def_cfa r7, 8 | |
52 .cfi_offset lr, -4 | |
53 .cfi_offset r7, -8 | |
54 vpush {d8} | |
55 .cfi_offset d8, -16 | |
56 .cfi_endproc | |
57 | |
58 | |
59 @ CHECK-LABEL: start: {{.*}} _test_d8_d10_d12_d14 | |
60 @ CHECK: compact encoding: 0x02000300 | |
61 .thumb_func _test_d8_d10_d12_d14 | |
62 _test_d8_d10_d12_d14: | |
63 .cfi_startproc | |
64 push {r7, lr} | |
65 mov r7, sp | |
66 .cfi_def_cfa r7, 8 | |
67 .cfi_offset lr, -4 | |
68 .cfi_offset r7, -8 | |
69 vpush {d14} | |
70 vpush {d12} | |
71 vpush {d10} | |
72 vpush {d8} | |
73 .cfi_offset d14, -16 | |
74 .cfi_offset d12, -24 | |
75 .cfi_offset d10, -32 | |
76 .cfi_offset d8, -40 | |
77 .cfi_endproc | |
78 | |
79 @ CHECK-LABEL: start: {{.*}} _test_varargs | |
80 @ CHECK: compact encoding: 0x01c00001 | |
81 .thumb_func _test_varargs | |
82 _test_varargs: | |
83 .cfi_startproc | |
84 sub sp, #12 | |
85 push {r4, r7, lr} | |
86 add r7, sp, #4 | |
87 .cfi_def_cfa r7, 20 | |
88 .cfi_offset lr, -16 | |
89 .cfi_offset r7, -20 | |
90 .cfi_offset r4, -24 | |
91 add.w r9, r7, #8 | |
92 mov r4, r0 | |
93 stm.w r9, {r1, r2, r3} | |
94 .cfi_endproc | |
95 | |
96 @ CHECK-LABEL: start: {{.*}} _test_missing_lr | |
97 @ CHECK: compact encoding: 0x04000000 | |
98 .thumb_func _test_missing_lr | |
99 _test_missing_lr: | |
100 .cfi_startproc | |
101 push {r7} | |
102 .cfi_def_cfa r7, 4 | |
103 .cfi_offset r7, -4 | |
104 pop {r7} | |
105 bx lr | |
106 .cfi_endproc | |
107 | |
108 @ CHECK-LABEL: start: {{.*}} _test_swapped_offsets | |
109 @ CHECK: compact encoding: 0x04000000 | |
110 .thumb_func _test_swapped_offsets | |
111 _test_swapped_offsets: | |
112 .cfi_startproc | |
113 push {r7, lr} | |
114 push {r10} | |
115 push {r4} | |
116 .cfi_def_cfa r7, 8 | |
117 .cfi_offset lr, -4 | |
118 .cfi_offset r7, -8 | |
119 .cfi_offset r10, -12 | |
120 .cfi_offset r4, -16 | |
121 pop {r4} | |
122 pop {r10} | |
123 pop {r7, pc} | |
124 .cfi_endproc |