gas/
[binutils.git] / gas / testsuite / gas / arm / sp-pc-validations-bad.s
blob94ecdacf6ae9fed72f0f2afcedf5a8008c13d04c
1 .syntax unified
3 @ Loads, ARM ================================================================
4 .arm
6 @ LDR (immediate, ARM)
7 @ LDR (literal)
8 @No unpredictable or undefined combinations.
10 @ LDR (register)
11 ldr r0,[r1,pc, LSL #2] @ Unpredictable
12 ldr r0,[r1,pc, LSL #2]! @ ditto
13 ldr r0,[r1],pc, LSL #2 @ ditto
14 ldr r0,[pc,r1, LSL #2]! @ ditto
15 ldr r0,[pc],r1, LSL #2 @ ditto
17 @ LDRB (immediate, ARM)
18 ldrb pc,[r0,#4] @ Unpredictable
19 ldrb pc,[r0],#4 @ ditto
20 ldrb pc,[r0,#4]! @ ditto
22 @ LDRB (literal)
23 ldrb pc, label @ Unpredictable
24 ldrb pc,[pc,#-0] @ ditto
26 @ LDRB (register)
27 ldrb pc,[r0,r1, LSL #2] @ Unpredictable
28 ldrb pc,[r0,r1, LSL #2]! @ ditto
29 ldrb pc,[r0],r1, LSL #2 @ ditto
30 ldrb r0,[r1,pc, LSL #2] @ ditto
31 ldrb r0,[r1,pc, LSL #2]! @ ditto
32 ldrb r0,[r1],pc, LSL #2 @ ditto
33 ldrb r0,[pc,r1, LSL #2]! @ ditto
34 ldrb r0,[pc],r1, LSL #2 @ ditto
36 @ LDRBT
37 ldrbt pc,[r0],#4 @ Unpredictable
38 ldrbt r0,[pc],#4 @ ditto
39 ldrbt pc,[r0],r1, LSL #4 @ ditto
40 ldrbt r0,[pc],r1, LSL #4 @ ditto
41 ldrbt r0,[r1],pc, LSL #4 @ ditto
43 @ LDRD (immediate)
44 ldrd r0,pc,[r1,#4] @ Unpredictable
45 ldrd r0,pc,[r1],#4 @ ditto
46 ldrd r0,pc,[r1,#4]! @ ditto
48 @ LDRD (literal)
49 ldrd r0,pc, label @ Unpredictable
50 ldrd r0,pc,[PC,#-0] @ ditto
52 @ LDRD (register)
53 ldrd r0,pc,[r1,r2] @ Unpredictable
54 ldrd r0,pc,[r1,r2]! @ ditto
55 ldrd r0,pc,[r1],r2 @ ditto
56 ldrd r0,r1,[r2,pc] @ ditto
57 ldrd r0,r1,[r2,pc]! @ ditto
58 ldrd r0,r1,[r2],pc @ ditto
59 ldrd r0,r1,[pc,r2]! @ ditto
60 ldrd r0,r1,[pc],r2 @ ditto
62 @ LDREX
63 ldrex pc,[r0] @ Unpredictable
64 ldrex r0,[pc] @ ditto
66 @ LDREXB
67 ldrexb pc,[r0] @ Unpredictable
68 ldrexb r0,[pc] @ ditto
70 @ LDREXD
71 ldrexd r0,r1,[pc] @ Unpredictable
73 @ LDREXH
74 ldrexh pc,[r0] @ Unpredictable
75 ldrexh r0,[pc] @ ditto
77 @ LDRH (immediate, ARM)
78 ldrh pc,[r0,#4] @ Unpredictable
79 ldrh pc,[r0],#4 @ ditto
80 ldrh pc,[r0,#4]! @ ditto
82 @ LDRH (literal)
83 ldrh pc, label @ Unpredictable
84 ldrh pc,[pc,#-0] @ ditto
86 @ LDRH (register)
87 ldrh pc,[r0,r1] @ Unpredictable
88 ldrh pc,[r0,r1]! @ ditto
89 ldrh pc,[r0],r1 @ ditto
90 ldrh r0,[r1,pc] @ ditto
91 ldrh r0,[r1,pc]! @ ditto
92 ldrh r0,[r1],pc @ ditto
93 ldrh r0,[pc,r1]! @ ditto
94 ldrh r0,[pc],r1 @ ditto
96 @ LDRHT
97 ldrht pc, [r0], #4 @ Unpredictable
98 ldrht r0, [pc], #4 @ ditto
99 ldrht pc, [r0], r1 @ ditto
100 ldrht r0, [pc], r1 @ ditto
101 ldrht r0, [r1], pc @ ditto
103 @ LDRSB (immediate)
104 ldrsb pc,[r0,#4] @ Unpredictable
105 ldrsb pc,[r0],#4 @ ditto
106 ldrsb pc,[r0,#4]! @ ditto
108 @ LDRSB (literal)
109 ldrsb pc, label @ Unpredictable
110 ldrsb pc,[pc,#-0] @ ditto
112 @ LDRSB (register)
113 ldrsb pc,[r0,r1] @ Unpredictable
114 ldrsb pc,[r0,r1]! @ ditto
115 ldrsb pc,[r0],r1 @ ditto
116 ldrsb r0,[r1,pc] @ ditto
117 ldrsb r0,[r1,pc]! @ ditto
118 ldrsb r0,[r1],pc @ ditto
119 ldrsb r0,[pc,r1]! @ ditto
120 ldrsb r0,[pc],r1 @ ditto
122 @ LDRSBT
123 ldrsbt pc, [r0], #4 @ Unpredictable
124 ldrsbt r0, [pc], #4 @ ditto
125 ldrsbt pc, [r0], r1 @ ditto
126 ldrsbt r0, [pc], r1 @ ditto
127 ldrsbt r0, [r1], pc @ ditto
129 @ LDRSH (immediate)
130 ldrsh pc,[r0,#4] @ Unpredictable
131 ldrsh pc,[r0],#4 @ ditto
132 ldrsh pc,[r0,#4]! @ ditto
134 @ LDRSH (literal)
135 ldrsh pc, label @ Unpredictable
136 ldrsh pc,[pc,#-0] @ ditto
138 @ LDRSH (register)
139 ldrsh pc,[r0,r1] @ Unpredictable
140 ldrsh pc,[r0,r1]! @ ditto
141 ldrsh pc,[r0],r1 @ ditto
142 ldrsh r0,[r1,pc] @ ditto
143 ldrsh r0,[r1,pc]! @ ditto
144 ldrsh r0,[r1],pc @ ditto
145 ldrsh r0,[pc,r1]! @ ditto
146 ldrsh r0,[pc],r1 @ ditto
148 @ LDRSHT
149 ldrsht pc, [r0], #4 @ Unpredictable
150 ldrsht r0, [pc], #4 @ ditto
151 ldrsht pc, [r0], r1 @ ditto
152 ldrsht r0, [pc], r1 @ ditto
153 ldrsht r0, [r1], pc @ ditto
155 @ LDRT
156 ldrt pc, [r0], #4 @ Unpredictable
157 ldrt r0, [pc], #4 @ ditto
158 ldrt pc,[r0],r1, LSL #4 @ ditto
159 ldrt r0,[pc],r1, LSL #4 @ ditto
160 ldrt r0,[r1],pc, LSL #4 @ ditto
162 @ Stores, ARM ================================================================
164 @ STR (immediate, ARM)
165 str r0,[pc,#4] @ Unpredictable
166 str r0,[pc],#4 @ ditto
167 str r0,[pc,#4]! @ ditto
169 @ STR (register)
170 str r0,[r1,pc, LSL #4] @ Unpredictable
171 str r0,[r1,pc, LSL #4]! @ ditto
172 str r0,[r1],pc, LSL #4 @ ditto
174 @ STRB (immediate, ARM)
175 strb pc,[r0,#4] @ Unpredictable
176 strb pc,[r0],#4 @ ditto
177 strb pc,[r0,#4]! @ ditto
178 strb r0,[pc],#4 @ ditto
179 strb r0,[pc,#4]! @ ditto
181 @ STRB (register)
182 strb pc,[r0,r1, LSL #4] @ Unpredictable
183 strb pc,[r0,r1, LSL #4]! @ ditto
184 strb pc,[r0],r1, LSL #4 @ ditto
185 strb r1,[r0,pc, LSL #4] @ ditto
186 strb r1,[r0,pc, LSL #4]! @ ditto
187 strb r1,[r0],pc, LSL #4 @ ditto
188 strb r0,[pc,r1, LSL #4]! @ ditto
189 strb r0,[pc],r1, LSL #4 @ ditto
191 @ STRBT
192 strbt pc,[r0],#4 @ Unpredictable
193 strbt r0,[pc],#4 @ ditto
194 strbt pc,[r0],r1, LSL #4 @ ditto
195 strbt r0,[pc],r1, LSL #4 @ ditto
196 strbt r0,[r1],pc, LSL #4 @ ditto
198 @ STRD (immediate)
199 strd r0,pc,[r1,#4] @ ditto
200 strd r0,pc,[r1],#4 @ ditto
201 strd r0,pc,[r1,#4]! @ ditto
202 strd r0,r1,[pc],#4 @ ditto
203 strd r0,r1,[pc,#4]! @ ditto
205 @STRD (register)
206 strd r0,pc,[r1,r2] @ Unpredictable
207 strd r0,pc,[r1,r2]! @ ditto
208 strd r0,pc,[r1],r2 @ ditto
209 strd r0,r1,[r2,pc] @ ditto
210 strd r0,r1,[r2,pc]! @ ditto
211 strd r0,r1,[r2],pc @ ditto
212 strd r0,r1,[pc,r2]! @ ditto
213 strd r0,r1,[pc],r2 @ ditto
215 @ STREX
216 strex pc,r0,[r1] @ Unpredictable
217 strex r0,pc,[r1] @ ditto
218 strex r0,r1,[pc] @ ditto
220 @ STREXB
221 strexb pc,r0,[r1] @ Unpredictable
222 strexb r0,pc,[r1] @ ditto
223 strexb r0,r1,[pc] @ ditto
225 @ STREXD
226 strexd pc,r0,r1,[r2] @ Unpredictable
227 strexd r0,r1,r2,[pc] @ ditto
229 @ STREXH
230 strexh pc,r0,[r1] @ Unpredictable
231 strexh r0,pc,[r1] @ ditto
232 strexh r0,r1,[pc] @ ditto
234 @ STRH (immediate, ARM)
235 strh pc,[r0,#4] @ Unpredictable
236 strh pc,[r0],#4 @ ditto
237 strh pc,[r0,#4]! @ ditto
238 strh r0,[pc],#4 @ ditto
239 strh r0,[pc,#4]! @ ditto
241 @ STRH (register)
242 strh pc,[r0,r1] @ Unpredictable
243 strh pc,[r0,r1]! @ ditto
244 strh pc,[r0],r1 @ ditto
245 strh r0,[r1,pc] @ ditto
246 strh r0,[r1,pc]! @ ditto
247 strh r0,[r1],pc @ ditto
248 strh r0,[pc,r1]! @ ditto
249 strh r0,[pc],r1 @ ditto
251 @ STRHT
252 strht pc, [r0], #4 @ Unpredictable
253 strht r0, [pc], #4 @ ditto
254 strht pc, [r0], r1 @ ditto
255 strht r0, [pc], r1 @ ditto
256 strht r0, [r1], pc @ ditto
258 @ STRT
259 strt r0, [pc], #4 @ Unpredictable
260 strt r0, [pc],r1, LSL #4 @ ditto
261 strt r0, [r1],pc, LSL #4 @ ditto
263 @ ============================================================================
265 .label:
266 ldr r0, [r1]