1 @ RUN
: llvm-mc
-triple armv6t2-linux-eabi
-filetype asm
-o
- %s
2>&1 \
3 @ RUN
: not llvm-mc
-triple armv6t2-linux-eabi
--fatal-warnings
-filetype asm
-o
- %s
2>&1 \
4 @ RUN
: | FileCheck
-check-prefix CHECK-ERROR
%s
6 @ RUN
: not llvm-mc
-triple armv7-linux-eabi
-filetype asm
-o
- %s
2>&1 \
7 @ RUN
: | FileCheck
%s
-check-prefix CHECK
-check-prefix CHECK-V7
9 @ RUN
: not llvm-mc
-triple armv8-linux-eabi
-filetype asm
-o
- %s
2>&1 \
10 @ RUN
: | FileCheck
%s
-check-prefix CHECK
-check-prefix CHECK-V7
19 @ CHECK
: warning
: use of PC in the list is deprecated
20 @ CHECK-ERROR
: error
: use of PC in the list is deprecated
21 @ CHECK
: stm sp
!, {r0, pc
}
24 @ CHECK
: warning
: use of PC in the list is deprecated
25 @ CHECK
: stm r1!, {r0, sp
, pc
}
28 @ CHECK
: warning
: use of PC in the list is deprecated
29 @ CHECK
: stm r2!, {sp
, pc
}
32 @ CHECK
: warning
: use of PC in the list is deprecated
33 @ CHECK
: stm sp
!, {pc
}
40 @ CHECK
: warning
: use of PC in the list is deprecated
41 @ CHECK
: stmda sp
!, {r0, pc
}
43 stmda
r1!, {r0, sp
, pc
}
44 @ CHECK
: warning
: use of PC in the list is deprecated
45 @ CHECK
: stmda
r1!, {r0, sp
, pc
}
48 @ CHECK
: warning
: use of PC in the list is deprecated
49 @ CHECK
: stmda
r2!, {sp
, pc
}
52 @ CHECK
: warning
: use of PC in the list is deprecated
53 @ CHECK
: stmda sp
!, {pc
}
60 @ CHECK
: warning
: use of PC in the list is deprecated
61 @ CHECK
: stmdb sp
!, {r0, pc
}
63 stmdb
r1!, {r0, sp
, pc
}
64 @ CHECK
: warning
: use of PC in the list is deprecated
65 @ CHECK
: stmdb
r1!, {r0, sp
, pc
}
68 @ CHECK
: warning
: use of PC in the list is deprecated
69 @ CHECK
: stmdb
r2!, {sp
, pc
}
72 @ CHECK
: warning
: use of PC in the list is deprecated
73 @ CHECK
: stmdb sp
!, {pc
}
80 @ CHECK
: warning
: use of PC in the list is deprecated
81 @ CHECK
: stmib sp
!, {r0, pc
}
83 stmib
r1!, {r0, sp
, pc
}
84 @ CHECK
: warning
: use of PC in the list is deprecated
85 @ CHECK
: stmib
r1!, {r0, sp
, pc
}
88 @ CHECK
: warning
: use of PC in the list is deprecated
89 @ CHECK
: stmib
r2!, {sp
, pc
}
92 @ CHECK
: warning
: use of PC in the list is deprecated
93 @ CHECK
: stmib sp
!, {pc
}
101 @ CHECK
: warning
: use of PC in the list is deprecated
102 @ CHECK
: push
{r0, pc
}
105 @ CHECK
: warning
: use of PC in the list is deprecated
106 @ CHECK
: push
{r0, sp
, pc
}
109 @ CHECK
: warning
: use of PC in the list is deprecated
110 @ CHECK
: push
{sp
, pc
}
113 @ CHECK
: warning
: use of PC in the list is deprecated
120 ldm
r0!, {r1, lr, pc
}
121 @ CHECK
: warning
: use of
LR and PC simultaneously in the list is deprecated
123 @ CHECK
: warning
: use of
LR and PC simultaneously in the list is deprecated
126 .type ldmda,%function
128 ldmda
r0!, {r1, lr, pc
}
129 @ CHECK
: warning
: use of
LR and PC simultaneously in the list is deprecated
131 @ CHECK
: warning
: use of
LR and PC simultaneously in the list is deprecated
134 .type ldmdb,%function
136 ldmdb
r0!, {r1, lr, pc
}
137 @ CHECK
: warning
: use of
LR and PC simultaneously in the list is deprecated
139 @ CHECK
: warning
: use of
LR and PC simultaneously in the list is deprecated
142 .type ldmib,%function
144 ldmib
r0!, {r1, lr, pc
}
145 @ CHECK
: warning
: use of
LR and PC simultaneously in the list is deprecated
147 @ CHECK
: warning
: use of
LR and PC simultaneously in the list is deprecated
153 @ CHECK-V7
: error
: writeback register
not allowed in register list
155 @ CHECK-V7
: error
: writeback register
not allowed in register list
157 @ CHECK
: warning
: use of
LR and PC simultaneously in the list is deprecated
159 @ CHECK
: warning
: use of
LR and PC simultaneously in the list is deprecated
162 .type valid,%function
165 @ CHECK
: stm r0!, {r0, sp
}
167 @ CHECK
: stm r0!, {sp
}
169 @ CHECK
: stmda
r0!, {r0, sp
}
171 @ CHECK
: stmda
r0!, {sp
}
173 @ CHECK
: stmdb
r0!, {r0, sp
}
175 @ CHECK
: stmdb
r0!, {sp
}
177 @ CHECK
: stmib
r0!, {r0, sp
}
179 @ CHECK
: stmib
r0!, {sp
}
181 @ CHECK
: stmdaeq
r0, {r0}
184 .type valid,%function
187 @ CHECK
: push
{r0, sp
}
192 .type valid,%function
195 @ CHECK
: ldm
r0!, {r1, sp
}
197 @ CHECK
: ldm
r0!, {sp
}
199 @ CHECK
: ldmda
r0!, {r1, sp
}
201 @ CHECK
: ldmda
r0!, {sp
}
203 @ CHECK
: ldmdb
r0!, {r1, sp
}
205 @ CHECK
: ldmdb
r0!, {sp
}
207 @ CHECK
: ldmib
r0!, {r1, sp
}
209 @ CHECK
: ldmib
r0!, {sp
}
211 @ CHECK
: ldmdaeq
r0, {r0}
214 .type valid,%function
217 @ CHECK
: pop
{r0, pc
}