[PowerPC] Replace cntlz[.] with cntlzw[.]
[oota-llvm.git] / test / MC / Disassembler / PowerPC / ppc64-encoding.txt
1 # RUN: llvm-mc --disassemble %s -triple powerpc64-unknown-unknown -mcpu=pwr7 | FileCheck %s
2
3 # FIXME: test b target                        
4
5 # FIXME: test ba target                       
6
7 # FIXME: test bl target                       
8
9 # FIXME: test bla target                      
10
11 # FIXME: test bc 4, 10, target                
12
13 # FIXME: test bca 4, 10, target               
14
15 # FIXME: test bcl 4, 10, target               
16
17 # FIXME: test bcla 4, 10, target              
18
19 # CHECK: bclr 4, 10, 3                   
20 0x4c 0x8a 0x18 0x20
21
22 # CHECK: bclr 4, 10
23 0x4c 0x8a 0x00 0x20
24
25 # CHECK: bclrl 4, 10, 3                  
26 0x4c 0x8a 0x18 0x21
27
28 # CHECK: bclrl 4, 10
29 0x4c 0x8a 0x00 0x21
30
31 # CHECK: bcctr 4, 10, 3                  
32 0x4c 0x8a 0x1c 0x20
33
34 # CHECK: bcctr 4, 10
35 0x4c 0x8a 0x04 0x20
36
37 # CHECK: bcctrl 4, 10, 3                 
38 0x4c 0x8a 0x1c 0x21
39
40 # CHECK: bcctrl 4, 10
41 0x4c 0x8a 0x04 0x21
42
43 # CHECK: crand 2, 3, 4                   
44 0x4c 0x43 0x22 0x02
45
46 # CHECK: crnand 2, 3, 4                  
47 0x4c 0x43 0x21 0xc2
48
49 # CHECK: cror 2, 3, 4                    
50 0x4c 0x43 0x23 0x82
51
52 # CHECK: crxor 2, 3, 4                   
53 0x4c 0x43 0x21 0x82
54
55 # CHECK: crnor 2, 3, 4                   
56 0x4c 0x43 0x20 0x42
57
58 # CHECK: creqv 2, 3, 4                   
59 0x4c 0x43 0x22 0x42
60
61 # CHECK: crandc 2, 3, 4                  
62 0x4c 0x43 0x21 0x02
63
64 # CHECK: crorc 2, 3, 4                   
65 0x4c 0x43 0x23 0x42
66
67 # CHECK: mcrf 2, 3                       
68 0x4d 0x0c 0x00 0x00
69
70 # CHECK: sc 1                            
71 0x44 0x00 0x00 0x22
72
73 # CHECK: sc
74 0x44 0x00 0x00 0x02
75
76 # CHECK: clrbhrb
77 0x7c 0x00 0x03 0x5c
78
79 # CHECK: mfbhrbe 9, 983
80 0x7d 0x3e 0xba 0x5c
81
82 # CHECK: rfebb 1
83 0x4c 0x00 0x09 0x24
84
85 # CHECK: lbz 2, 128(4)                   
86 0x88 0x44 0x00 0x80
87
88 # CHECK: lbzx 2, 3, 4                    
89 0x7c 0x43 0x20 0xae
90
91 # CHECK: lbzu 2, 128(4)                  
92 0x8c 0x44 0x00 0x80
93
94 # CHECK: lbzux 2, 3, 4                   
95 0x7c 0x43 0x20 0xee
96
97 # CHECK: lhz 2, 128(4)                   
98 0xa0 0x44 0x00 0x80
99
100 # CHECK: lhzx 2, 3, 4                    
101 0x7c 0x43 0x22 0x2e
102
103 # CHECK: lhzu 2, 128(4)                  
104 0xa4 0x44 0x00 0x80
105
106 # CHECK: lhzux 2, 3, 4                   
107 0x7c 0x43 0x22 0x6e
108
109 # CHECK: lha 2, 128(4)                   
110 0xa8 0x44 0x00 0x80
111
112 # CHECK: lhax 2, 3, 4                    
113 0x7c 0x43 0x22 0xae
114
115 # CHECK: lhau 2, 128(4)                  
116 0xac 0x44 0x00 0x80
117
118 # CHECK: lhaux 2, 3, 4                   
119 0x7c 0x43 0x22 0xee
120
121 # CHECK: lwz 2, 128(4)                   
122 0x80 0x44 0x00 0x80
123
124 # CHECK: lwzx 2, 3, 4                    
125 0x7c 0x43 0x20 0x2e
126
127 # CHECK: lwzu 2, 128(4)                  
128 0x84 0x44 0x00 0x80
129
130 # CHECK: lwzux 2, 3, 4                   
131 0x7c 0x43 0x20 0x6e
132
133 # CHECK: lwa 2, 128(4)                   
134 0xe8 0x44 0x00 0x82
135
136 # CHECK: lwax 2, 3, 4                    
137 0x7c 0x43 0x22 0xaa
138
139 # CHECK: lwaux 2, 3, 4                   
140 0x7c 0x43 0x22 0xea
141
142 # CHECK: ld 2, 128(4)                    
143 0xe8 0x44 0x00 0x80
144
145 # CHECK: ldx 2, 3, 4                     
146 0x7c 0x43 0x20 0x2a
147
148 # CHECK: ldu 2, 128(4)                   
149 0xe8 0x44 0x00 0x81
150
151 # CHECK: ldux 2, 3, 4                    
152 0x7c 0x43 0x20 0x6a
153
154 # CHECK: stb 2, 128(4)                   
155 0x98 0x44 0x00 0x80
156
157 # CHECK: stbx 2, 3, 4                    
158 0x7c 0x43 0x21 0xae
159
160 # CHECK: stbu 2, 128(4)                  
161 0x9c 0x44 0x00 0x80
162
163 # CHECK: stbux 2, 3, 4                   
164 0x7c 0x43 0x21 0xee
165
166 # CHECK: sth 2, 128(4)                   
167 0xb0 0x44 0x00 0x80
168
169 # CHECK: sthx 2, 3, 4                    
170 0x7c 0x43 0x23 0x2e
171
172 # CHECK: sthu 2, 128(4)                  
173 0xb4 0x44 0x00 0x80
174
175 # CHECK: sthux 2, 3, 4                   
176 0x7c 0x43 0x23 0x6e
177
178 # CHECK: stw 2, 128(4)                   
179 0x90 0x44 0x00 0x80
180
181 # CHECK: stwx 2, 3, 4                    
182 0x7c 0x43 0x21 0x2e
183
184 # CHECK: stwu 2, 128(4)                  
185 0x94 0x44 0x00 0x80
186
187 # CHECK: stwux 2, 3, 4                   
188 0x7c 0x43 0x21 0x6e
189
190 # CHECK: std 2, 128(4)                   
191 0xf8 0x44 0x00 0x80
192
193 # CHECK: stdx 2, 3, 4                    
194 0x7c 0x43 0x21 0x2a
195
196 # CHECK: stdu 2, 128(4)                  
197 0xf8 0x44 0x00 0x81
198
199 # CHECK: stdux 2, 3, 4                   
200 0x7c 0x43 0x21 0x6a
201
202 # CHECK: lhbrx 2, 3, 4                   
203 0x7c 0x43 0x26 0x2c
204
205 # CHECK: sthbrx 2, 3, 4                  
206 0x7c 0x43 0x27 0x2c
207
208 # CHECK: lwbrx 2, 3, 4                   
209 0x7c 0x43 0x24 0x2c
210
211 # CHECK: stwbrx 2, 3, 4                  
212 0x7c 0x43 0x25 0x2c
213
214 # CHECK: ldbrx 2, 3, 4                   
215 0x7c 0x43 0x24 0x28
216
217 # CHECK: stdbrx 2, 3, 4                  
218 0x7c 0x43 0x25 0x28
219
220 # CHECK: lmw 2, 128(1)                   
221 0xb8 0x41 0x00 0x80
222
223 # CHECK: stmw 2, 128(1)                  
224 0xbc 0x41 0x00 0x80
225
226 # CHECK: addi 2, 3, 128                  
227 0x38 0x43 0x00 0x80
228
229 # CHECK: addis 2, 3, 128                 
230 0x3c 0x43 0x00 0x80
231
232 # CHECK: add 2, 3, 4                     
233 0x7c 0x43 0x22 0x14
234
235 # CHECK: add. 2, 3, 4                    
236 0x7c 0x43 0x22 0x15
237
238 # CHECK: subf 2, 3, 4                    
239 0x7c 0x43 0x20 0x50
240
241 # CHECK: subf. 2, 3, 4                   
242 0x7c 0x43 0x20 0x51
243
244 # CHECK: addic 2, 3, 128                 
245 0x30 0x43 0x00 0x80
246
247 # CHECK: addic. 2, 3, 128                
248 0x34 0x43 0x00 0x80
249
250 # CHECK: subfic 2, 3, 4                  
251 0x20 0x43 0x00 0x04
252
253 # CHECK: addc 2, 3, 4                    
254 0x7c 0x43 0x20 0x14
255
256 # CHECK: addc. 2, 3, 4                   
257 0x7c 0x43 0x20 0x15
258
259 # CHECK: subfc 2, 3, 4                   
260 0x7c 0x43 0x20 0x10
261
262 # CHECK: subfc 2, 3, 4                   
263 0x7c 0x43 0x20 0x10
264
265 # CHECK: adde 2, 3, 4                    
266 0x7c 0x43 0x21 0x14
267
268 # CHECK: adde. 2, 3, 4                   
269 0x7c 0x43 0x21 0x15
270
271 # CHECK: subfe 2, 3, 4                   
272 0x7c 0x43 0x21 0x10
273
274 # CHECK: subfe. 2, 3, 4                  
275 0x7c 0x43 0x21 0x11
276
277 # CHECK: addme 2, 3                      
278 0x7c 0x43 0x01 0xd4
279
280 # CHECK: addme. 2, 3                     
281 0x7c 0x43 0x01 0xd5
282
283 # CHECK: subfme 2, 3                     
284 0x7c 0x43 0x01 0xd0
285
286 # CHECK: subfme. 2, 3                    
287 0x7c 0x43 0x01 0xd1
288
289 # CHECK: addze 2, 3                      
290 0x7c 0x43 0x01 0x94
291
292 # CHECK: addze. 2, 3                     
293 0x7c 0x43 0x01 0x95
294
295 # CHECK: subfze 2, 3                     
296 0x7c 0x43 0x01 0x90
297
298 # CHECK: subfze. 2, 3                    
299 0x7c 0x43 0x01 0x91
300
301 # CHECK: neg 2, 3                        
302 0x7c 0x43 0x00 0xd0
303
304 # CHECK: neg. 2, 3                       
305 0x7c 0x43 0x00 0xd1
306
307 # CHECK: mulli 2, 3, 128                 
308 0x1c 0x43 0x00 0x80
309
310 # CHECK: mulhw 2, 3, 4                   
311 0x7c 0x43 0x20 0x96
312
313 # CHECK: mulhw. 2, 3, 4                  
314 0x7c 0x43 0x20 0x97
315
316 # CHECK: mullw 2, 3, 4                   
317 0x7c 0x43 0x21 0xd6
318
319 # CHECK: mullw. 2, 3, 4                  
320 0x7c 0x43 0x21 0xd7
321
322 # CHECK: mulhwu 2, 3, 4                  
323 0x7c 0x43 0x20 0x16
324
325 # CHECK: mulhwu. 2, 3, 4                 
326 0x7c 0x43 0x20 0x17
327
328 # CHECK: divw 2, 3, 4                    
329 0x7c 0x43 0x23 0xd6
330
331 # CHECK: divw. 2, 3, 4                   
332 0x7c 0x43 0x23 0xd7
333
334 # CHECK: divwu 2, 3, 4                   
335 0x7c 0x43 0x23 0x96
336
337 # CHECK: divwu. 2, 3, 4                  
338 0x7c 0x43 0x23 0x97
339
340 # CHECK: divwe 2, 3, 4
341 0x7c 0x43 0x23 0x56
342
343 # CHECK: divwe. 2, 3, 4
344 0x7c 0x43 0x23 0x57
345
346 # CHECK: divweu 2, 3, 4
347 0x7c 0x43 0x23 0x16
348
349 # CHECK: divweu. 2, 3, 4
350 0x7c 0x43 0x23 0x17
351
352 # CHECK: mulld 2, 3, 4                   
353 0x7c 0x43 0x21 0xd2
354
355 # CHECK: mulld. 2, 3, 4                  
356 0x7c 0x43 0x21 0xd3
357
358 # CHECK: mulhd 2, 3, 4                   
359 0x7c 0x43 0x20 0x92
360
361 # CHECK: mulhd. 2, 3, 4                  
362 0x7c 0x43 0x20 0x93
363
364 # CHECK: mulhdu 2, 3, 4                  
365 0x7c 0x43 0x20 0x12
366
367 # CHECK: mulhdu. 2, 3, 4                 
368 0x7c 0x43 0x20 0x13
369
370 # CHECK: divd 2, 3, 4                    
371 0x7c 0x43 0x23 0xd2
372
373 # CHECK: divd. 2, 3, 4                   
374 0x7c 0x43 0x23 0xd3
375
376 # CHECK: divdu 2, 3, 4                   
377 0x7c 0x43 0x23 0x92
378
379 # CHECK: divdu. 2, 3, 4                  
380 0x7c 0x43 0x23 0x93
381
382 # CHECK: divde 2, 3, 4
383 0x7c 0x43 0x23 0x52
384
385 # CHECK: divde. 2, 3, 4
386 0x7c 0x43 0x23 0x53
387
388 # CHECK: divdeu 2, 3, 4
389 0x7c 0x43 0x23 0x12
390
391 # CHECK: divdeu. 2, 3, 4
392 0x7c 0x43 0x23 0x13
393
394 # CHECK: cmpdi 2, 3, 128                 
395 0x2d 0x23 0x00 0x80
396
397 # CHECK: cmpd 2, 3, 4                    
398 0x7d 0x23 0x20 0x00
399
400 # CHECK: cmpldi 2, 3, 128                
401 0x29 0x23 0x00 0x80
402
403 # CHECK: cmpld 2, 3, 4                   
404 0x7d 0x23 0x20 0x40
405
406 # CHECK: cmpwi 2, 3, 128                 
407 0x2d 0x03 0x00 0x80
408
409 # CHECK: cmpw 2, 3, 4                    
410 0x7d 0x03 0x20 0x00
411
412 # CHECK: cmplwi 2, 3, 128                
413 0x29 0x03 0x00 0x80
414
415 # CHECK: cmplw 2, 3, 4                   
416 0x7d 0x03 0x20 0x40
417
418 # CHECK: twllti 3, 4
419 0x0c 0x43 0x00 0x04
420
421 # CHECK: twllt 3, 4
422 0x7c 0x43 0x20 0x08
423
424 # CHECK: tdllti 3, 4
425 0x08 0x43 0x00 0x04
426
427 # CHECK: tdllt 3, 4
428 0x7c 0x43 0x20 0x88
429
430 # CHECK: isel 2, 3, 4, 5                 
431 0x7c 0x43 0x21 0x5e
432
433 # CHECK: andi. 2, 3, 128                 
434 0x70 0x62 0x00 0x80
435
436 # CHECK: andis. 2, 3, 128                
437 0x74 0x62 0x00 0x80
438
439 # CHECK: ori 2, 3, 128                   
440 0x60 0x62 0x00 0x80
441
442 # CHECK: oris 2, 3, 128                  
443 0x64 0x62 0x00 0x80
444
445 # CHECK: xori 2, 3, 128                  
446 0x68 0x62 0x00 0x80
447
448 # CHECK: xoris 2, 3, 128                 
449 0x6c 0x62 0x00 0x80
450
451 # CHECK: and 2, 3, 4                     
452 0x7c 0x62 0x20 0x38
453
454 # CHECK: and. 2, 3, 4                    
455 0x7c 0x62 0x20 0x39
456
457 # CHECK: xor 2, 3, 4                     
458 0x7c 0x62 0x22 0x78
459
460 # CHECK: xor. 2, 3, 4                    
461 0x7c 0x62 0x22 0x79
462
463 # CHECK: nand 2, 3, 4                    
464 0x7c 0x62 0x23 0xb8
465
466 # CHECK: nand. 2, 3, 4                   
467 0x7c 0x62 0x23 0xb9
468
469 # CHECK: or 2, 3, 4                      
470 0x7c 0x62 0x23 0x78
471
472 # CHECK: or. 2, 3, 4                     
473 0x7c 0x62 0x23 0x79
474
475 # CHECK: nor 2, 3, 4                     
476 0x7c 0x62 0x20 0xf8
477
478 # CHECK: nor. 2, 3, 4                    
479 0x7c 0x62 0x20 0xf9
480
481 # CHECK: eqv 2, 3, 4                     
482 0x7c 0x62 0x22 0x38
483
484 # CHECK: eqv. 2, 3, 4                    
485 0x7c 0x62 0x22 0x39
486
487 # CHECK: andc 2, 3, 4                    
488 0x7c 0x62 0x20 0x78
489
490 # CHECK: andc. 2, 3, 4                   
491 0x7c 0x62 0x20 0x79
492
493 # CHECK: orc 2, 3, 4                     
494 0x7c 0x62 0x23 0x38
495
496 # CHECK: orc. 2, 3, 4                    
497 0x7c 0x62 0x23 0x39
498
499 # CHECK: extsb 2, 3                      
500 0x7c 0x62 0x07 0x74
501
502 # CHECK: extsb. 2, 3                     
503 0x7c 0x62 0x07 0x75
504
505 # CHECK: extsh 2, 3                      
506 0x7c 0x62 0x07 0x34
507
508 # CHECK: extsh. 2, 3                     
509 0x7c 0x62 0x07 0x35
510
511 # CHECK: cntlzw 2, 3
512 0x7c 0x62 0x00 0x34
513
514 # CHECK: cntlzw. 2, 3
515 0x7c 0x62 0x00 0x35
516
517 # CHECK: popcntw 2, 3                    
518 0x7c 0x62 0x02 0xf4
519
520 # CHECK: extsw 2, 3                      
521 0x7c 0x62 0x07 0xb4
522
523 # CHECK: extsw. 2, 3                     
524 0x7c 0x62 0x07 0xb5
525
526 # CHECK: cntlzd 2, 3                     
527 0x7c 0x62 0x00 0x74
528
529 # CHECK: cntlzd. 2, 3                    
530 0x7c 0x62 0x00 0x75
531
532 # CHECK: popcntd 2, 3                    
533 0x7c 0x62 0x03 0xf4
534
535 # CHECK: bpermd 2, 3, 4
536 0x7c 0x62 0x21 0xf8
537
538 # CHECK: cmpb 7, 21, 4
539 0x7e 0xa7 0x23 0xf8
540
541 # CHECK: rlwinm 2, 3, 4, 5, 6            
542 0x54 0x62 0x21 0x4c
543
544 # CHECK: rlwinm. 2, 3, 4, 5, 6           
545 0x54 0x62 0x21 0x4d
546
547 # CHECK: rlwnm 2, 3, 4, 5, 6             
548 0x5c 0x62 0x21 0x4c
549
550 # CHECK: rlwnm. 2, 3, 4, 5, 6            
551 0x5c 0x62 0x21 0x4d
552
553 # CHECK: rlwimi 2, 3, 4, 5, 6            
554 0x50 0x62 0x21 0x4c
555
556 # CHECK: rlwimi. 2, 3, 4, 5, 6           
557 0x50 0x62 0x21 0x4d
558
559 # CHECK: rldicl 2, 3, 4, 5               
560 0x78 0x62 0x21 0x40
561
562 # CHECK: rldicl. 2, 3, 4, 5              
563 0x78 0x62 0x21 0x41
564
565 # CHECK: rldicr 2, 3, 4, 5               
566 0x78 0x62 0x21 0x44
567
568 # CHECK: rldicr. 2, 3, 4, 5              
569 0x78 0x62 0x21 0x45
570
571 # CHECK: rldic 2, 3, 4, 5                
572 0x78 0x62 0x21 0x48
573
574 # CHECK: rldic. 2, 3, 4, 5               
575 0x78 0x62 0x21 0x49
576
577 # CHECK: rldcl 2, 3, 4, 5                
578 0x78 0x62 0x21 0x50
579
580 # CHECK: rldcl. 2, 3, 4, 5               
581 0x78 0x62 0x21 0x51
582
583 # CHECK: rldcr 2, 3, 4, 5                
584 0x78 0x62 0x21 0x52
585
586 # CHECK: rldcr. 2, 3, 4, 5               
587 0x78 0x62 0x21 0x53
588
589 # CHECK: rldimi 2, 3, 4, 5               
590 0x78 0x62 0x21 0x4c
591
592 # CHECK: rldimi. 2, 3, 4, 5              
593 0x78 0x62 0x21 0x4d
594
595 # CHECK: slw 2, 3, 4                     
596 0x7c 0x62 0x20 0x30
597
598 # CHECK: slw. 2, 3, 4                    
599 0x7c 0x62 0x20 0x31
600
601 # CHECK: srw 2, 3, 4                     
602 0x7c 0x62 0x24 0x30
603
604 # CHECK: srw. 2, 3, 4                    
605 0x7c 0x62 0x24 0x31
606
607 # CHECK: srawi 2, 3, 4                   
608 0x7c 0x62 0x26 0x70
609
610 # CHECK: srawi. 2, 3, 4                  
611 0x7c 0x62 0x26 0x71
612
613 # CHECK: sraw 2, 3, 4                    
614 0x7c 0x62 0x26 0x30
615
616 # CHECK: sraw. 2, 3, 4                   
617 0x7c 0x62 0x26 0x31
618
619 # CHECK: sld 2, 3, 4                     
620 0x7c 0x62 0x20 0x36
621
622 # CHECK: sld. 2, 3, 4                    
623 0x7c 0x62 0x20 0x37
624
625 # CHECK: srd 2, 3, 4                     
626 0x7c 0x62 0x24 0x36
627
628 # CHECK: srd. 2, 3, 4                    
629 0x7c 0x62 0x24 0x37
630
631 # CHECK: sradi 2, 3, 4                   
632 0x7c 0x62 0x26 0x74
633
634 # CHECK: sradi. 2, 3, 4                  
635 0x7c 0x62 0x26 0x75
636
637 # CHECK: srad 2, 3, 4                    
638 0x7c 0x62 0x26 0x34
639
640 # CHECK: srad. 2, 3, 4                   
641 0x7c 0x62 0x26 0x35
642
643 # CHECK: mtspr 600, 2                    
644 0x7c 0x58 0x93 0xa6
645
646 # CHECK: mfspr 2, 600                    
647 0x7c 0x58 0x92 0xa6
648
649 # CHECK: mtcrf 123, 2                    
650 0x7c 0x47 0xb1 0x20
651
652 # CHECK: mfcr 2                          
653 0x7c 0x40 0x00 0x26
654
655 # CHECK: mtocrf 16, 2                    
656 0x7c 0x51 0x01 0x20
657
658 # CHECK: mfocrf 16, 8                    
659 0x7e 0x10 0x80 0x26
660
661 # CHECK: mtsrin 10, 12
662 0x7d 0x40 0x61 0xe4
663 # CHECK: mfsrin 10, 12
664 0x7d 0x40 0x65 0x26