Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(78)

Side by Side Diff: tests_lit/assembler/arm32/ldr-str-more.ll

Issue 1678133003: Subzero: Fix trailing whitespace errors. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Rebase Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tests_lit/assembler/arm32/dmb.ll ('k') | tests_lit/assembler/arm32/ldrex-strex.ll » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 ; More ldr/str examples (byte and half word). 1 ; More ldr/str examples (byte and half word).
2 2
3 ; REQUIRES: allow_dump 3 ; REQUIRES: allow_dump
4 4
5 ; Compile using standalone assembler. 5 ; Compile using standalone assembler.
6 ; RUN: %lc2i --filetype=asm -i %s --target=arm32 --args -Om1 \ 6 ; RUN: %lc2i --filetype=asm -i %s --target=arm32 --args -Om1 \
7 ; RUN: | FileCheck %s --check-prefix=ASM 7 ; RUN: | FileCheck %s --check-prefix=ASM
8 8
9 ; Show bytes in assembled standalone code. 9 ; Show bytes in assembled standalone code.
10 ; RUN: %lc2i --filetype=asm -i %s --target=arm32 --assemble --disassemble \ 10 ; RUN: %lc2i --filetype=asm -i %s --target=arm32 --assemble --disassemble \
(...skipping 18 matching lines...) Expand all
29 ; IASM-NEXT:.LLoadStoreI1$entry: 29 ; IASM-NEXT:.LLoadStoreI1$entry:
30 30
31 ; ASM-NEXT: sub sp, sp, #32 31 ; ASM-NEXT: sub sp, sp, #32
32 ; DIS-NEXT: 0: e24dd020 32 ; DIS-NEXT: 0: e24dd020
33 ; IASM-NEXT: .byte 0x20 33 ; IASM-NEXT: .byte 0x20
34 ; IASM-NEXT: .byte 0xd0 34 ; IASM-NEXT: .byte 0xd0
35 ; IASM-NEXT: .byte 0x4d 35 ; IASM-NEXT: .byte 0x4d
36 ; IASM-NEXT: .byte 0xe2 36 ; IASM-NEXT: .byte 0xe2
37 37
38 ; ASM-NEXT: str r0, [sp, #28] 38 ; ASM-NEXT: str r0, [sp, #28]
39 ; ASM-NEXT: # [sp, #28] = def.pseudo 39 ; ASM-NEXT: # [sp, #28] = def.pseudo
40 ; DIS-NEXT: 4: e58d001c 40 ; DIS-NEXT: 4: e58d001c
41 ; IASM-NEXT: .byte 0x1c 41 ; IASM-NEXT: .byte 0x1c
42 ; IASM-NEXT: .byte 0x0 42 ; IASM-NEXT: .byte 0x0
43 ; IASM-NEXT: .byte 0x8d 43 ; IASM-NEXT: .byte 0x8d
44 ; IASM-NEXT: .byte 0xe5 44 ; IASM-NEXT: .byte 0xe5
45 45
46 ; ASM-NEXT: str r1, [sp, #24] 46 ; ASM-NEXT: str r1, [sp, #24]
47 ; ASM-NEXT: # [sp, #24] = def.pseudo 47 ; ASM-NEXT: # [sp, #24] = def.pseudo
48 ; DIS-NEXT: 8: e58d1018 48 ; DIS-NEXT: 8: e58d1018
49 ; IASM-NEXT: .byte 0x18 49 ; IASM-NEXT: .byte 0x18
50 ; IASM-NEXT: .byte 0x10 50 ; IASM-NEXT: .byte 0x10
51 ; IASM-NEXT: .byte 0x8d 51 ; IASM-NEXT: .byte 0x8d
52 ; IASM-NEXT: .byte 0xe5 52 ; IASM-NEXT: .byte 0xe5
53 53
54 %b.arg_trunc = trunc i32 %b to i1 54 %b.arg_trunc = trunc i32 %b to i1
55 55
56 ; ASM-NEXT: ldr r0, [sp, #24] 56 ; ASM-NEXT: ldr r0, [sp, #24]
57 ; DIS-NEXT: c: e59d0018 57 ; DIS-NEXT: c: e59d0018
58 ; IASM-NEXT: .byte 0x18 58 ; IASM-NEXT: .byte 0x18
59 ; IASM-NEXT: .byte 0x0 59 ; IASM-NEXT: .byte 0x0
60 ; IASM-NEXT: .byte 0x9d 60 ; IASM-NEXT: .byte 0x9d
61 ; IASM-NEXT: .byte 0xe5 61 ; IASM-NEXT: .byte 0xe5
62 62
63 ; ASM-NEXT: and r0, r0, #1 63 ; ASM-NEXT: and r0, r0, #1
64 ; DIS-NEXT: 10: e2000001 64 ; DIS-NEXT: 10: e2000001
65 ; IASM-NEXT: .byte 0x1 65 ; IASM-NEXT: .byte 0x1
66 ; IASM-NEXT: .byte 0x0 66 ; IASM-NEXT: .byte 0x0
67 ; IASM-NEXT: .byte 0x0 67 ; IASM-NEXT: .byte 0x0
68 ; IASM-NEXT: .byte 0xe2 68 ; IASM-NEXT: .byte 0xe2
69 69
70 ; ASM-NEXT: strb r0, [sp, #20] 70 ; ASM-NEXT: strb r0, [sp, #20]
71 ; ASM-NEXT: # [sp, #20] = def.pseudo 71 ; ASM-NEXT: # [sp, #20] = def.pseudo
72 ; DIS-NEXT: 14: e5cd0014 72 ; DIS-NEXT: 14: e5cd0014
73 ; IASM-NEXT: .byte 0x14 73 ; IASM-NEXT: .byte 0x14
74 ; IASM-NEXT: .byte 0x0 74 ; IASM-NEXT: .byte 0x0
75 ; IASM-NEXT: .byte 0xcd 75 ; IASM-NEXT: .byte 0xcd
76 ; IASM-NEXT: .byte 0xe5 76 ; IASM-NEXT: .byte 0xe5
77 77
78 %a.arg_trunc = trunc i32 %a to i1 78 %a.arg_trunc = trunc i32 %a to i1
79 %conv = zext i1 %a.arg_trunc to i32 79 %conv = zext i1 %a.arg_trunc to i32
80 80
81 ; ASM-NEXT: ldr r0, [sp, #28] 81 ; ASM-NEXT: ldr r0, [sp, #28]
82 ; DIS-NEXT: 18: e59d001c 82 ; DIS-NEXT: 18: e59d001c
83 ; IASM-NEXT: .byte 0x1c 83 ; IASM-NEXT: .byte 0x1c
84 ; IASM-NEXT: .byte 0x0 84 ; IASM-NEXT: .byte 0x0
85 ; IASM-NEXT: .byte 0x9d 85 ; IASM-NEXT: .byte 0x9d
86 ; IASM-NEXT: .byte 0xe5 86 ; IASM-NEXT: .byte 0xe5
87 87
88 ; ASM-NEXT: and r0, r0, #1 88 ; ASM-NEXT: and r0, r0, #1
89 ; DIS-NEXT: 1c: e2000001 89 ; DIS-NEXT: 1c: e2000001
90 ; IASM-NEXT: .byte 0x1 90 ; IASM-NEXT: .byte 0x1
91 ; IASM-NEXT: .byte 0x0 91 ; IASM-NEXT: .byte 0x0
92 ; IASM-NEXT: .byte 0x0 92 ; IASM-NEXT: .byte 0x0
93 ; IASM-NEXT: .byte 0xe2 93 ; IASM-NEXT: .byte 0xe2
94 94
95 ; ASM-NEXT: strb r0, [sp, #16] 95 ; ASM-NEXT: strb r0, [sp, #16]
96 ; ASM-NEXT: # [sp, #16] = def.pseudo 96 ; ASM-NEXT: # [sp, #16] = def.pseudo
97 ; DIS-NEXT: 20: e5cd0010 97 ; DIS-NEXT: 20: e5cd0010
98 ; IASM-NEXT: .byte 0x10 98 ; IASM-NEXT: .byte 0x10
99 ; IASM-NEXT: .byte 0x0 99 ; IASM-NEXT: .byte 0x0
100 ; IASM-NEXT: .byte 0xcd 100 ; IASM-NEXT: .byte 0xcd
101 ; IASM-NEXT: .byte 0xe5 101 ; IASM-NEXT: .byte 0xe5
102 102
103 %add = sext i1 %b.arg_trunc to i32 103 %add = sext i1 %b.arg_trunc to i32
104 104
105 ; ASM-NEXT: ldrb r0, [sp, #16] 105 ; ASM-NEXT: ldrb r0, [sp, #16]
106 ; DIS-NEXT: 24: e5dd0010 106 ; DIS-NEXT: 24: e5dd0010
107 ; IASM-NEXT: .byte 0x10 107 ; IASM-NEXT: .byte 0x10
108 ; IASM-NEXT: .byte 0x0 108 ; IASM-NEXT: .byte 0x0
109 ; IASM-NEXT: .byte 0xdd 109 ; IASM-NEXT: .byte 0xdd
110 ; IASM-NEXT: .byte 0xe5 110 ; IASM-NEXT: .byte 0xe5
111 111
112 ; ASM-NEXT: str r0, [sp, #12] 112 ; ASM-NEXT: str r0, [sp, #12]
113 ; ASM-NEXT: # [sp, #12] = def.pseudo 113 ; ASM-NEXT: # [sp, #12] = def.pseudo
114 ; DIS-NEXT: 28: e58d000c 114 ; DIS-NEXT: 28: e58d000c
115 ; IASM-NEXT: .byte 0xc 115 ; IASM-NEXT: .byte 0xc
116 ; IASM-NEXT: .byte 0x0 116 ; IASM-NEXT: .byte 0x0
117 ; IASM-NEXT: .byte 0x8d 117 ; IASM-NEXT: .byte 0x8d
118 ; IASM-NEXT: .byte 0xe5 118 ; IASM-NEXT: .byte 0xe5
119 119
120 %tobool4 = icmp ne i32 %conv, %add 120 %tobool4 = icmp ne i32 %conv, %add
121 121
122 ; ASM-NEXT: mov r0, #0 122 ; ASM-NEXT: mov r0, #0
123 ; DIS-NEXT: 2c: e3a00000 123 ; DIS-NEXT: 2c: e3a00000
(...skipping 24 matching lines...) Expand all
148 ; IASM-NEXT: .byte 0xe3 148 ; IASM-NEXT: .byte 0xe3
149 149
150 ; ASM-NEXT: movne r0, r1 150 ; ASM-NEXT: movne r0, r1
151 ; DIS-NEXT: 3c: 11a00001 151 ; DIS-NEXT: 3c: 11a00001
152 ; IASM-NEXT: .byte 0x1 152 ; IASM-NEXT: .byte 0x1
153 ; IASM-NEXT: .byte 0x0 153 ; IASM-NEXT: .byte 0x0
154 ; IASM-NEXT: .byte 0xa0 154 ; IASM-NEXT: .byte 0xa0
155 ; IASM-NEXT: .byte 0x11 155 ; IASM-NEXT: .byte 0x11
156 156
157 ; ASM-NEXT: str r0, [sp, #8] 157 ; ASM-NEXT: str r0, [sp, #8]
158 ; ASM-NEXT: # [sp, #8] = def.pseudo 158 ; ASM-NEXT: # [sp, #8] = def.pseudo
159 ; DIS-NEXT: 40: e58d0008 159 ; DIS-NEXT: 40: e58d0008
160 ; IASM-NEXT: .byte 0x8 160 ; IASM-NEXT: .byte 0x8
161 ; IASM-NEXT: .byte 0x0 161 ; IASM-NEXT: .byte 0x0
162 ; IASM-NEXT: .byte 0x8d 162 ; IASM-NEXT: .byte 0x8d
163 ; IASM-NEXT: .byte 0xe5 163 ; IASM-NEXT: .byte 0xe5
164 164
165 %tobool4.ret_ext = zext i1 %tobool4 to i32 165 %tobool4.ret_ext = zext i1 %tobool4 to i32
166 166
167 ; ASM-NEXT: mov r0, #0 167 ; ASM-NEXT: mov r0, #0
168 ; DIS-NEXT: 44: e3a00000 168 ; DIS-NEXT: 44: e3a00000
(...skipping 24 matching lines...) Expand all
193 ; IASM-NEXT: .byte 0xe1 193 ; IASM-NEXT: .byte 0xe1
194 194
195 ; ASM-NEXT: movne r0, #1 195 ; ASM-NEXT: movne r0, #1
196 ; DIS-NEXT: 54: 13a00001 196 ; DIS-NEXT: 54: 13a00001
197 ; IASM-NEXT: .byte 0x1 197 ; IASM-NEXT: .byte 0x1
198 ; IASM-NEXT: .byte 0x0 198 ; IASM-NEXT: .byte 0x0
199 ; IASM-NEXT: .byte 0xa0 199 ; IASM-NEXT: .byte 0xa0
200 ; IASM-NEXT: .byte 0x13 200 ; IASM-NEXT: .byte 0x13
201 201
202 ; ASM-NEXT: strb r0, [sp, #4] 202 ; ASM-NEXT: strb r0, [sp, #4]
203 ; ASM-NEXT: # [sp, #4] = def.pseudo 203 ; ASM-NEXT: # [sp, #4] = def.pseudo
204 ; DIS-NEXT: 58: e5cd0004 204 ; DIS-NEXT: 58: e5cd0004
205 ; IASM-NEXT: .byte 0x4 205 ; IASM-NEXT: .byte 0x4
206 ; IASM-NEXT: .byte 0x0 206 ; IASM-NEXT: .byte 0x0
207 ; IASM-NEXT: .byte 0xcd 207 ; IASM-NEXT: .byte 0xcd
208 ; IASM-NEXT: .byte 0xe5 208 ; IASM-NEXT: .byte 0xe5
209 209
210 ret i32 %tobool4.ret_ext 210 ret i32 %tobool4.ret_ext
211 211
212 ; ASM-NEXT: ldrb r0, [sp, #4] 212 ; ASM-NEXT: ldrb r0, [sp, #4]
213 ; DIS-NEXT: 5c: e5dd0004 213 ; DIS-NEXT: 5c: e5dd0004
214 ; IASM-NEXT: .byte 0x4 214 ; IASM-NEXT: .byte 0x4
215 ; IASM-NEXT: .byte 0x0 215 ; IASM-NEXT: .byte 0x0
216 ; IASM-NEXT: .byte 0xdd 216 ; IASM-NEXT: .byte 0xdd
217 ; IASM-NEXT: .byte 0xe5 217 ; IASM-NEXT: .byte 0xe5
218 218
219 ; ASM-NEXT: str r0, [sp] 219 ; ASM-NEXT: str r0, [sp]
220 ; ASM-NEXT: # [sp] = def.pseudo 220 ; ASM-NEXT: # [sp] = def.pseudo
221 ; DIS-NEXT: 60: e58d0000 221 ; DIS-NEXT: 60: e58d0000
222 ; IASM-NEXT: .byte 0x0 222 ; IASM-NEXT: .byte 0x0
223 ; IASM-NEXT: .byte 0x0 223 ; IASM-NEXT: .byte 0x0
224 ; IASM-NEXT: .byte 0x8d 224 ; IASM-NEXT: .byte 0x8d
225 ; IASM-NEXT: .byte 0xe5 225 ; IASM-NEXT: .byte 0xe5
226 226
227 ; ASM-NEXT: ldr r0, [sp] 227 ; ASM-NEXT: ldr r0, [sp]
228 ; DIS-NEXT: 64: e59d0000 228 ; DIS-NEXT: 64: e59d0000
229 ; IASM-NEXT: .byte 0x0 229 ; IASM-NEXT: .byte 0x0
230 ; IASM-NEXT: .byte 0x0 230 ; IASM-NEXT: .byte 0x0
(...skipping 26 matching lines...) Expand all
257 ; IASM-NEXT:.LLoadStoreI16$entry: 257 ; IASM-NEXT:.LLoadStoreI16$entry:
258 258
259 ; ASM-NEXT: sub sp, sp, #36 259 ; ASM-NEXT: sub sp, sp, #36
260 ; DIS-NEXT: 70: e24dd024 260 ; DIS-NEXT: 70: e24dd024
261 ; IASM-NEXT: .byte 0x24 261 ; IASM-NEXT: .byte 0x24
262 ; IASM-NEXT: .byte 0xd0 262 ; IASM-NEXT: .byte 0xd0
263 ; IASM-NEXT: .byte 0x4d 263 ; IASM-NEXT: .byte 0x4d
264 ; IASM-NEXT: .byte 0xe2 264 ; IASM-NEXT: .byte 0xe2
265 265
266 ; ASM-NEXT: str r0, [sp, #32] 266 ; ASM-NEXT: str r0, [sp, #32]
267 ; ASM-NEXT: # [sp, #32] = def.pseudo 267 ; ASM-NEXT: # [sp, #32] = def.pseudo
268 ; DIS-NEXT: 74: e58d0020 268 ; DIS-NEXT: 74: e58d0020
269 ; IASM-NEXT: .byte 0x20 269 ; IASM-NEXT: .byte 0x20
270 ; IASM-NEXT: .byte 0x0 270 ; IASM-NEXT: .byte 0x0
271 ; IASM-NEXT: .byte 0x8d 271 ; IASM-NEXT: .byte 0x8d
272 ; IASM-NEXT: .byte 0xe5 272 ; IASM-NEXT: .byte 0xe5
273 273
274 ; ASM-NEXT: str r1, [sp, #28] 274 ; ASM-NEXT: str r1, [sp, #28]
275 ; ASM-NEXT: # [sp, #28] = def.pseudo 275 ; ASM-NEXT: # [sp, #28] = def.pseudo
276 ; DIS-NEXT: 78: e58d101c 276 ; DIS-NEXT: 78: e58d101c
277 ; IASM-NEXT: .byte 0x1c 277 ; IASM-NEXT: .byte 0x1c
278 ; IASM-NEXT: .byte 0x10 278 ; IASM-NEXT: .byte 0x10
279 ; IASM-NEXT: .byte 0x8d 279 ; IASM-NEXT: .byte 0x8d
280 ; IASM-NEXT: .byte 0xe5 280 ; IASM-NEXT: .byte 0xe5
281 281
282 %b.arg_trunc = trunc i32 %b to i16 282 %b.arg_trunc = trunc i32 %b to i16
283 283
284 ; ASM-NEXT: ldr r0, [sp, #28] 284 ; ASM-NEXT: ldr r0, [sp, #28]
285 ; DIS-NEXT: 7c: e59d001c 285 ; DIS-NEXT: 7c: e59d001c
286 ; IASM-NEXT: .byte 0x1c 286 ; IASM-NEXT: .byte 0x1c
287 ; IASM-NEXT: .byte 0x0 287 ; IASM-NEXT: .byte 0x0
288 ; IASM-NEXT: .byte 0x9d 288 ; IASM-NEXT: .byte 0x9d
289 ; IASM-NEXT: .byte 0xe5 289 ; IASM-NEXT: .byte 0xe5
290 290
291 ; ASM-NEXT: strh r0, [sp, #24] 291 ; ASM-NEXT: strh r0, [sp, #24]
292 ; ASM-NEXT: # [sp, #24] = def.pseudo 292 ; ASM-NEXT: # [sp, #24] = def.pseudo
293 ; DIS-NEXT: 80: e1cd01b8 293 ; DIS-NEXT: 80: e1cd01b8
294 ; IASM-NEXT: .byte 0xb8 294 ; IASM-NEXT: .byte 0xb8
295 ; IASM-NEXT: .byte 0x1 295 ; IASM-NEXT: .byte 0x1
296 ; IASM-NEXT: .byte 0xcd 296 ; IASM-NEXT: .byte 0xcd
297 ; IASM-NEXT: .byte 0xe1 297 ; IASM-NEXT: .byte 0xe1
298 298
299 %a.arg_trunc = trunc i32 %a to i16 299 %a.arg_trunc = trunc i32 %a to i16
300 300
301 ; ASM-NEXT: ldr r0, [sp, #32] 301 ; ASM-NEXT: ldr r0, [sp, #32]
302 ; DIS-NEXT: 84: e59d0020 302 ; DIS-NEXT: 84: e59d0020
303 ; IASM-NEXT: .byte 0x20 303 ; IASM-NEXT: .byte 0x20
304 ; IASM-NEXT: .byte 0x0 304 ; IASM-NEXT: .byte 0x0
305 ; IASM-NEXT: .byte 0x9d 305 ; IASM-NEXT: .byte 0x9d
306 ; IASM-NEXT: .byte 0xe5 306 ; IASM-NEXT: .byte 0xe5
307 307
308 ; ASM-NEXT: strh r0, [sp, #20] 308 ; ASM-NEXT: strh r0, [sp, #20]
309 ; ASM-NEXT: # [sp, #20] = def.pseudo 309 ; ASM-NEXT: # [sp, #20] = def.pseudo
310 ; DIS-NEXT: 88: e1cd01b4 310 ; DIS-NEXT: 88: e1cd01b4
311 ; IASM-NEXT: .byte 0xb4 311 ; IASM-NEXT: .byte 0xb4
312 ; IASM-NEXT: .byte 0x1 312 ; IASM-NEXT: .byte 0x1
313 ; IASM-NEXT: .byte 0xcd 313 ; IASM-NEXT: .byte 0xcd
314 ; IASM-NEXT: .byte 0xe1 314 ; IASM-NEXT: .byte 0xe1
315 315
316 %conv = zext i16 %a.arg_trunc to i32 316 %conv = zext i16 %a.arg_trunc to i32
317 317
318 ; ASM-NEXT: ldrh r0, [sp, #20] 318 ; ASM-NEXT: ldrh r0, [sp, #20]
319 ; DIS-NEXT: 8c: e1dd01b4 319 ; DIS-NEXT: 8c: e1dd01b4
320 ; IASM-NEXT: .byte 0xb4 320 ; IASM-NEXT: .byte 0xb4
321 ; IASM-NEXT: .byte 0x1 321 ; IASM-NEXT: .byte 0x1
322 ; IASM-NEXT: .byte 0xdd 322 ; IASM-NEXT: .byte 0xdd
323 ; IASM-NEXT: .byte 0xe1 323 ; IASM-NEXT: .byte 0xe1
324 324
325 ; ASM-NEXT: uxth r0, r0 325 ; ASM-NEXT: uxth r0, r0
326 ; DIS-NEXT: 90: e6ff0070 326 ; DIS-NEXT: 90: e6ff0070
327 ; IASM-NEXT: .byte 0x70 327 ; IASM-NEXT: .byte 0x70
328 ; IASM-NEXT: .byte 0x0 328 ; IASM-NEXT: .byte 0x0
329 ; IASM-NEXT: .byte 0xff 329 ; IASM-NEXT: .byte 0xff
330 ; IASM-NEXT: .byte 0xe6 330 ; IASM-NEXT: .byte 0xe6
331 331
332 ; ASM-NEXT: str r0, [sp, #16] 332 ; ASM-NEXT: str r0, [sp, #16]
333 ; ASM-NEXT: # [sp, #16] = def.pseudo 333 ; ASM-NEXT: # [sp, #16] = def.pseudo
334 ; DIS-NEXT: 94: e58d0010 334 ; DIS-NEXT: 94: e58d0010
335 ; IASM-NEXT: .byte 0x10 335 ; IASM-NEXT: .byte 0x10
336 ; IASM-NEXT: .byte 0x0 336 ; IASM-NEXT: .byte 0x0
337 ; IASM-NEXT: .byte 0x8d 337 ; IASM-NEXT: .byte 0x8d
338 ; IASM-NEXT: .byte 0xe5 338 ; IASM-NEXT: .byte 0xe5
339 339
340 %conv1 = zext i16 %b.arg_trunc to i32 340 %conv1 = zext i16 %b.arg_trunc to i32
341 341
342 ; ASM-NEXT: ldrh r0, [sp, #24] 342 ; ASM-NEXT: ldrh r0, [sp, #24]
343 ; DIS-NEXT: 98: e1dd01b8 343 ; DIS-NEXT: 98: e1dd01b8
344 ; IASM-NEXT: .byte 0xb8 344 ; IASM-NEXT: .byte 0xb8
345 ; IASM-NEXT: .byte 0x1 345 ; IASM-NEXT: .byte 0x1
346 ; IASM-NEXT: .byte 0xdd 346 ; IASM-NEXT: .byte 0xdd
347 ; IASM-NEXT: .byte 0xe1 347 ; IASM-NEXT: .byte 0xe1
348 348
349 ; ASM-NEXT: uxth r0, r0 349 ; ASM-NEXT: uxth r0, r0
350 ; DIS-NEXT: 9c: e6ff0070 350 ; DIS-NEXT: 9c: e6ff0070
351 ; IASM-NEXT: .byte 0x70 351 ; IASM-NEXT: .byte 0x70
352 ; IASM-NEXT: .byte 0x0 352 ; IASM-NEXT: .byte 0x0
353 ; IASM-NEXT: .byte 0xff 353 ; IASM-NEXT: .byte 0xff
354 ; IASM-NEXT: .byte 0xe6 354 ; IASM-NEXT: .byte 0xe6
355 355
356 ; ASM-NEXT: str r0, [sp, #12] 356 ; ASM-NEXT: str r0, [sp, #12]
357 ; ASM-NEXT: # [sp, #12] = def.pseudo 357 ; ASM-NEXT: # [sp, #12] = def.pseudo
358 ; DIS-NEXT: a0: e58d000c 358 ; DIS-NEXT: a0: e58d000c
359 ; IASM-NEXT: .byte 0xc 359 ; IASM-NEXT: .byte 0xc
360 ; IASM-NEXT: .byte 0x0 360 ; IASM-NEXT: .byte 0x0
361 ; IASM-NEXT: .byte 0x8d 361 ; IASM-NEXT: .byte 0x8d
362 ; IASM-NEXT: .byte 0xe5 362 ; IASM-NEXT: .byte 0xe5
363 363
364 %add = add i32 %conv1, %conv 364 %add = add i32 %conv1, %conv
365 365
366 ; ASM-NEXT: ldr r0, [sp, #12] 366 ; ASM-NEXT: ldr r0, [sp, #12]
367 ; DIS-NEXT: a4: e59d000c 367 ; DIS-NEXT: a4: e59d000c
(...skipping 10 matching lines...) Expand all
378 ; IASM-NEXT: .byte 0xe5 378 ; IASM-NEXT: .byte 0xe5
379 379
380 ; ASM-NEXT: add r0, r0, r1 380 ; ASM-NEXT: add r0, r0, r1
381 ; DIS-NEXT: ac: e0800001 381 ; DIS-NEXT: ac: e0800001
382 ; IASM-NEXT: .byte 0x1 382 ; IASM-NEXT: .byte 0x1
383 ; IASM-NEXT: .byte 0x0 383 ; IASM-NEXT: .byte 0x0
384 ; IASM-NEXT: .byte 0x80 384 ; IASM-NEXT: .byte 0x80
385 ; IASM-NEXT: .byte 0xe0 385 ; IASM-NEXT: .byte 0xe0
386 386
387 ; ASM-NEXT: str r0, [sp, #8] 387 ; ASM-NEXT: str r0, [sp, #8]
388 ; ASM-NEXT: # [sp, #8] = def.pseudo 388 ; ASM-NEXT: # [sp, #8] = def.pseudo
389 ; DIS-NEXT: b0: e58d0008 389 ; DIS-NEXT: b0: e58d0008
390 ; IASM-NEXT: .byte 0x8 390 ; IASM-NEXT: .byte 0x8
391 ; IASM-NEXT: .byte 0x0 391 ; IASM-NEXT: .byte 0x0
392 ; IASM-NEXT: .byte 0x8d 392 ; IASM-NEXT: .byte 0x8d
393 ; IASM-NEXT: .byte 0xe5 393 ; IASM-NEXT: .byte 0xe5
394 394
395 %conv2 = trunc i32 %add to i16 395 %conv2 = trunc i32 %add to i16
396 396
397 ; ASM-NEXT: ldr r0, [sp, #8] 397 ; ASM-NEXT: ldr r0, [sp, #8]
398 ; DIS-NEXT: b4: e59d0008 398 ; DIS-NEXT: b4: e59d0008
399 ; IASM-NEXT: .byte 0x8 399 ; IASM-NEXT: .byte 0x8
400 ; IASM-NEXT: .byte 0x0 400 ; IASM-NEXT: .byte 0x0
401 ; IASM-NEXT: .byte 0x9d 401 ; IASM-NEXT: .byte 0x9d
402 ; IASM-NEXT: .byte 0xe5 402 ; IASM-NEXT: .byte 0xe5
403 403
404 ; ASM-NEXT: strh r0, [sp, #4] 404 ; ASM-NEXT: strh r0, [sp, #4]
405 ; ASM-NEXT: # [sp, #4] = def.pseudo 405 ; ASM-NEXT: # [sp, #4] = def.pseudo
406 ; DIS-NEXT: b8: e1cd00b4 406 ; DIS-NEXT: b8: e1cd00b4
407 ; IASM-NEXT: .byte 0xb4 407 ; IASM-NEXT: .byte 0xb4
408 ; IASM-NEXT: .byte 0x0 408 ; IASM-NEXT: .byte 0x0
409 ; IASM-NEXT: .byte 0xcd 409 ; IASM-NEXT: .byte 0xcd
410 ; IASM-NEXT: .byte 0xe1 410 ; IASM-NEXT: .byte 0xe1
411 411
412 %conv2.ret_ext = zext i16 %conv2 to i32 412 %conv2.ret_ext = zext i16 %conv2 to i32
413 413
414 ; ASM-NEXT: ldrh r0, [sp, #4] 414 ; ASM-NEXT: ldrh r0, [sp, #4]
415 ; DIS-NEXT: bc: e1dd00b4 415 ; DIS-NEXT: bc: e1dd00b4
416 ; IASM-NEXT: .byte 0xb4 416 ; IASM-NEXT: .byte 0xb4
417 ; IASM-NEXT: .byte 0x0 417 ; IASM-NEXT: .byte 0x0
418 ; IASM-NEXT: .byte 0xdd 418 ; IASM-NEXT: .byte 0xdd
419 ; IASM-NEXT: .byte 0xe1 419 ; IASM-NEXT: .byte 0xe1
420 420
421 ; ASM-NEXT: uxth r0, r0 421 ; ASM-NEXT: uxth r0, r0
422 ; DIS-NEXT: c0: e6ff0070 422 ; DIS-NEXT: c0: e6ff0070
423 ; IASM-NEXT: .byte 0x70 423 ; IASM-NEXT: .byte 0x70
424 ; IASM-NEXT: .byte 0x0 424 ; IASM-NEXT: .byte 0x0
425 ; IASM-NEXT: .byte 0xff 425 ; IASM-NEXT: .byte 0xff
426 ; IASM-NEXT: .byte 0xe6 426 ; IASM-NEXT: .byte 0xe6
427 427
428 ; ASM-NEXT: str r0, [sp] 428 ; ASM-NEXT: str r0, [sp]
429 ; ASM-NEXT: # [sp] = def.pseudo 429 ; ASM-NEXT: # [sp] = def.pseudo
430 ; DIS-NEXT: c4: e58d0000 430 ; DIS-NEXT: c4: e58d0000
431 ; IASM-NEXT: .byte 0x0 431 ; IASM-NEXT: .byte 0x0
432 ; IASM-NEXT: .byte 0x0 432 ; IASM-NEXT: .byte 0x0
433 ; IASM-NEXT: .byte 0x8d 433 ; IASM-NEXT: .byte 0x8d
434 ; IASM-NEXT: .byte 0xe5 434 ; IASM-NEXT: .byte 0xe5
435 435
436 ret i32 %conv2.ret_ext 436 ret i32 %conv2.ret_ext
437 437
438 ; ASM-NEXT: ldr r0, [sp] 438 ; ASM-NEXT: ldr r0, [sp]
439 ; DIS-NEXT: c8: e59d0000 439 ; DIS-NEXT: c8: e59d0000
(...skipping 10 matching lines...) Expand all
450 ; IASM-NEXT: .byte 0xe2 450 ; IASM-NEXT: .byte 0xe2
451 451
452 ; ASM-NEXT: bx lr 452 ; ASM-NEXT: bx lr
453 ; DIS-NEXT: d0: e12fff1e 453 ; DIS-NEXT: d0: e12fff1e
454 ; IASM-NEXT: .byte 0x1e 454 ; IASM-NEXT: .byte 0x1e
455 ; IASM-NEXT: .byte 0xff 455 ; IASM-NEXT: .byte 0xff
456 ; IASM-NEXT: .byte 0x2f 456 ; IASM-NEXT: .byte 0x2f
457 ; IASM-NEXT: .byte 0xe1 457 ; IASM-NEXT: .byte 0xe1
458 458
459 } 459 }
OLDNEW
« no previous file with comments | « tests_lit/assembler/arm32/dmb.ll ('k') | tests_lit/assembler/arm32/ldrex-strex.ll » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698