Upload Tizen:Base source
[external/binutils.git] / gas / testsuite / gas / arm / sp-pc-validations-bad.s
1 .syntax unified
2
3 @ Loads, ARM ================================================================
4 .arm
5
6 @ LDR (immediate, ARM)
7 @ LDR (literal)
8 @No unpredictable or undefined combinations.
9
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
16
17 @ LDRB (immediate, ARM)
18 ldrb pc,[r0,#4]                         @ Unpredictable
19 ldrb pc,[r0],#4                         @ ditto
20 ldrb pc,[r0,#4]!                        @ ditto
21
22 @ LDRB (literal)
23 ldrb pc, label                          @ Unpredictable
24 ldrb pc,[pc,#-0]                        @ ditto
25
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
35
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
42
43 @ LDRD (immediate)
44 ldrd r0,pc,[r1,#4]                      @ Unpredictable
45 ldrd r0,pc,[r1],#4                      @ ditto
46 ldrd r0,pc,[r1,#4]!                     @ ditto
47
48 @ LDRD (literal)
49 ldrd r0,pc, label                       @ Unpredictable
50 ldrd r0,pc,[PC,#-0]                     @ ditto
51
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
61
62 @ LDREX
63 ldrex pc,[r0]                           @ Unpredictable
64 ldrex r0,[pc]                           @ ditto
65
66 @ LDREXB
67 ldrexb pc,[r0]                          @ Unpredictable
68 ldrexb r0,[pc]                          @ ditto
69
70 @ LDREXD
71 ldrexd r0,r1,[pc]                       @ Unpredictable
72
73 @ LDREXH
74 ldrexh pc,[r0]                          @ Unpredictable
75 ldrexh r0,[pc]                          @ ditto
76
77 @ LDRH (immediate, ARM)
78 ldrh pc,[r0,#4]                         @ Unpredictable
79 ldrh pc,[r0],#4                         @ ditto
80 ldrh pc,[r0,#4]!                        @ ditto
81
82 @ LDRH (literal)
83 ldrh pc, label                          @ Unpredictable
84 ldrh pc,[pc,#-0]                        @ ditto
85
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
95
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
102
103 @ LDRSB (immediate)
104 ldrsb pc,[r0,#4]                        @ Unpredictable
105 ldrsb pc,[r0],#4                        @ ditto
106 ldrsb pc,[r0,#4]!                       @ ditto
107
108 @ LDRSB (literal)
109 ldrsb pc, label                         @ Unpredictable
110 ldrsb pc,[pc,#-0]                       @ ditto
111
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
121
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
128
129 @ LDRSH (immediate)
130 ldrsh pc,[r0,#4]                        @ Unpredictable
131 ldrsh pc,[r0],#4                        @ ditto
132 ldrsh pc,[r0,#4]!                       @ ditto
133
134 @ LDRSH (literal)
135 ldrsh pc, label                         @ Unpredictable
136 ldrsh pc,[pc,#-0]                       @ ditto
137
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
147
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
154
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
161
162
163 @ Stores, ARM ================================================================
164
165 @ STR (immediate, ARM)
166 str r0,[pc],#4                          @ Unpredictable
167 str r0,[pc,#4]!                         @ ditto
168
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
173
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
180
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
190
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
197
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
204
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
214
215 @ STREX
216 strex pc,r0,[r1]                        @ Unpredictable
217 strex r0,pc,[r1]                        @ ditto
218 strex r0,r1,[pc]                        @ ditto
219
220 @ STREXB
221 strexb pc,r0,[r1]                       @ Unpredictable
222 strexb r0,pc,[r1]                       @ ditto
223 strexb r0,r1,[pc]                       @ ditto
224
225 @ STREXD
226 strexd pc,r0,r1,[r2]                    @ Unpredictable
227 strexd r0,r1,r2,[pc]                    @ ditto
228
229 @ STREXH
230 strexh pc,r0,[r1]                       @ Unpredictable
231 strexh r0,pc,[r1]                       @ ditto
232 strexh r0,r1,[pc]                       @ ditto
233
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
240
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
250
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
257
258 @ STRT
259 strt r0, [pc], #4                       @ Unpredictable
260 strt r0, [pc],r1, LSL #4                @ ditto
261 strt r0, [r1],pc, LSL #4                @ ditto
262
263 @ ============================================================================
264
265 .label:
266 ldr r0, [r1]