This patch adds support for the vector quadword add/sub instructions introduced
[oota-llvm.git] / test / MC / Disassembler / PowerPC / ppc64-encoding-vmx.txt
1 # RUN: llvm-mc --disassemble %s -triple powerpc64-unknown-unknown -mcpu=pwr7 | FileCheck %s
2
3 # CHECK: lvebx 2, 3, 4                   
4 0x7c 0x43 0x20 0x0e
5
6 # CHECK: lvehx 2, 3, 4                   
7 0x7c 0x43 0x20 0x4e
8
9 # CHECK: lvewx 2, 3, 4                   
10 0x7c 0x43 0x20 0x8e
11
12 # CHECK: lvx 2, 3, 4                     
13 0x7c 0x43 0x20 0xce
14
15 # CHECK: lvxl 2, 3, 4                    
16 0x7c 0x43 0x22 0xce
17
18 # CHECK: stvebx 2, 3, 4                  
19 0x7c 0x43 0x21 0x0e
20
21 # CHECK: stvehx 2, 3, 4                  
22 0x7c 0x43 0x21 0x4e
23
24 # CHECK: stvewx 2, 3, 4                  
25 0x7c 0x43 0x21 0x8e
26
27 # CHECK: stvx 2, 3, 4                    
28 0x7c 0x43 0x21 0xce
29
30 # CHECK: stvxl 2, 3, 4                   
31 0x7c 0x43 0x23 0xce
32
33 # CHECK: lvsl 2, 3, 4                    
34 0x7c 0x43 0x20 0x0c
35
36 # CHECK: lvsr 2, 3, 4                    
37 0x7c 0x43 0x20 0x4c
38
39 # CHECK: vpkpx 2, 3, 4                   
40 0x10 0x43 0x23 0x0e
41
42 # CHECK: vpkshss 2, 3, 4                 
43 0x10 0x43 0x21 0x8e
44
45 # CHECK: vpkshus 2, 3, 4                 
46 0x10 0x43 0x21 0x0e
47
48 # CHECK: vpkswss 2, 3, 4                 
49 0x10 0x43 0x21 0xce
50
51 # CHECK: vpkswus 2, 3, 4                 
52 0x10 0x43 0x21 0x4e
53
54 # CHECK: vpkuhum 2, 3, 4                 
55 0x10 0x43 0x20 0x0e
56
57 # CHECK: vpkuhus 2, 3, 4                 
58 0x10 0x43 0x20 0x8e
59
60 # CHECK: vpkuwum 2, 3, 4                 
61 0x10 0x43 0x20 0x4e
62
63 # CHECK: vpkuwus 2, 3, 4                 
64 0x10 0x43 0x20 0xce
65
66 # CHECK: vupkhpx 2, 3                    
67 0x10 0x40 0x1b 0x4e
68
69 # CHECK: vupkhsb 2, 3                    
70 0x10 0x40 0x1a 0x0e
71
72 # CHECK: vupkhsh 2, 3                    
73 0x10 0x40 0x1a 0x4e
74
75 # CHECK: vupklpx 2, 3                    
76 0x10 0x40 0x1b 0xce
77
78 # CHECK: vupklsb 2, 3                    
79 0x10 0x40 0x1a 0x8e
80
81 # CHECK: vupklsh 2, 3                    
82 0x10 0x40 0x1a 0xce
83
84 # CHECK: vmrghb 2, 3, 4                  
85 0x10 0x43 0x20 0x0c
86
87 # CHECK: vmrghh 2, 3, 4                  
88 0x10 0x43 0x20 0x4c
89
90 # CHECK: vmrghw 2, 3, 4                  
91 0x10 0x43 0x20 0x8c
92
93 # CHECK: vmrglb 2, 3, 4                  
94 0x10 0x43 0x21 0x0c
95
96 # CHECK: vmrglh 2, 3, 4                  
97 0x10 0x43 0x21 0x4c
98
99 # CHECK: vmrglw 2, 3, 4                  
100 0x10 0x43 0x21 0x8c
101
102 # CHECK: vspltb 2, 3, 1                  
103 0x10 0x41 0x1a 0x0c
104
105 # CHECK: vsplth 2, 3, 1                  
106 0x10 0x41 0x1a 0x4c
107
108 # CHECK: vspltw 2, 3, 1                  
109 0x10 0x41 0x1a 0x8c
110
111 # CHECK: vspltisb 2, 3                   
112 0x10 0x43 0x03 0x0c
113
114 # CHECK: vspltish 2, 3                   
115 0x10 0x43 0x03 0x4c
116
117 # CHECK: vspltisw 2, 3                   
118 0x10 0x43 0x03 0x8c
119
120 # CHECK: vperm 2, 3, 4, 5                
121 0x10 0x43 0x21 0x6b
122
123 # CHECK: vpermxor 2, 3, 4, 5
124 0x10 0x43 0x21 0x6d
125
126 # CHECK: vsbox 2, 5
127 0x10 0x45 0x05 0xc8
128
129 # CHECK: vcipher 2, 5, 17
130 0x10 0x45 0x8d 0x08
131
132 # CHECK: vcipherlast 2, 5, 17
133 0x10 0x45 0x8d 0x09
134
135 # CHECK: vncipher 2, 5, 17
136 0x10,0x45,0x8d,0x48
137
138 # CHECK: vncipherlast 2, 5, 17
139 0x10,0x45,0x8d,0x49
140
141 # CHECK: vpmsumb 2, 5, 17
142 0x10 0x45 0x8c 0x08
143
144 # CHECK: vpmsumh 2, 5, 17
145 0x10 0x45 0x8c 0x48
146
147 # CHECK: vpmsumw 2, 5, 17
148 0x10 0x45 0x8c 0x88
149
150 # CHECK: vpmsumd 2, 5, 17
151 0x10 0x45 0x8c 0xc8
152
153 # CHECK: vshasigmaw 2, 3, 0, 11
154 0x10 0x43 0x5e 0x82
155
156 # CHECK: vshasigmad 2, 3, 1, 15
157 0x10 0x43 0xfe 0xc2
158
159 # CHECK: vsel 2, 3, 4, 5                 
160 0x10 0x43 0x21 0x6a
161
162 # CHECK: vsl 2, 3, 4                     
163 0x10 0x43 0x21 0xc4
164
165 # CHECK: vsldoi 2, 3, 4, 5               
166 0x10 0x43 0x21 0x6c
167
168 # CHECK: vslo 2, 3, 4                    
169 0x10 0x43 0x24 0x0c
170
171 # CHECK: vsr 2, 3, 4                     
172 0x10 0x43 0x22 0xc4
173
174 # CHECK: vsro 2, 3, 4                    
175 0x10 0x43 0x24 0x4c
176
177 # CHECK: vaddcuw 2, 3, 4                 
178 0x10 0x43 0x21 0x80
179
180 # CHECK: vaddsbs 2, 3, 4                 
181 0x10 0x43 0x23 0x00
182
183 # CHECK: vaddshs 2, 3, 4                 
184 0x10 0x43 0x23 0x40
185
186 # CHECK: vaddsws 2, 3, 4                 
187 0x10 0x43 0x23 0x80
188
189 # CHECK: vaddubm 2, 3, 4                 
190 0x10 0x43 0x20 0x00
191
192 # CHECK: vadduhm 2, 3, 4                 
193 0x10 0x43 0x20 0x40
194
195 # CHECK: vadduwm 2, 3, 4                 
196 0x10 0x43 0x20 0x80
197
198 # CHECK: vaddudm 2, 3, 4
199 0x10 0x43 0x20 0xc0
200
201 # CHECK: vaddubs 2, 3, 4                 
202 0x10 0x43 0x22 0x00
203
204 # CHECK: vadduhs 2, 3, 4                 
205 0x10 0x43 0x22 0x40
206
207 # CHECK: vadduws 2, 3, 4                 
208 0x10 0x43 0x22 0x80
209
210 # CHECK: vadduqm 2, 3, 4
211 0x10 0x43 0x21 0x00
212
213 # CHECK: vaddeuqm 2, 3, 4, 5
214 0x10 0x43 0x21 0x7c
215
216 # CHECK: vaddcuq 2, 3, 4
217 0x10 0x43 0x21 0x40
218
219 # CHECK: vaddecuq 2, 3, 4, 5
220 0x10 0x43 0x21 0x7d
221
222 # CHECK: vsubcuw 2, 3, 4                 
223 0x10 0x43 0x25 0x80
224
225 # CHECK: vsubsbs 2, 3, 4                 
226 0x10 0x43 0x27 0x00
227
228 # CHECK: vsubshs 2, 3, 4                 
229 0x10 0x43 0x27 0x40
230
231 # CHECK: vsubsws 2, 3, 4                 
232 0x10 0x43 0x27 0x80
233
234 # CHECK: vsububm 2, 3, 4                 
235 0x10 0x43 0x24 0x00
236
237 # CHECK: vsubuhm 2, 3, 4                 
238 0x10 0x43 0x24 0x40
239
240 # CHECK: vsubuwm 2, 3, 4                 
241 0x10 0x43 0x24 0x80
242
243 # CHECK: vsubudm 2, 3, 4
244 0x10 0x43 0x24 0xc0
245
246 # CHECK: vsububs 2, 3, 4                 
247 0x10 0x43 0x26 0x00
248
249 # CHECK: vsubuhs 2, 3, 4                 
250 0x10 0x43 0x26 0x40
251
252 # CHECK: vsubuws 2, 3, 4                 
253 0x10 0x43 0x26 0x80
254
255 # CHECK: vsubuqm 2, 3, 4
256 0x10 0x43 0x25 0x00
257
258 # CHECK: vsubeuqm 2, 3, 4, 5
259 0x10 0x43 0x21 0x7e
260
261 # CHECK: vsubcuq 2, 3, 4
262 0x10 0x43 0x25 0x40
263
264 # CHECK: vsubecuq 2, 3, 4, 5
265 0x10 0x43 0x21 0x7f
266
267 # CHECK: vmulesb 2, 3, 4                 
268 0x10 0x43 0x23 0x08
269
270 # CHECK: vmulesh 2, 3, 4                 
271 0x10 0x43 0x23 0x48
272
273 # CHECK: vmulesw 2, 3, 4
274 0x10 0x43 0x23 0x88
275
276 # CHECK: vmuleub 2, 3, 4                 
277 0x10 0x43 0x22 0x08
278
279 # CHECK: vmuleuh 2, 3, 4                 
280 0x10 0x43 0x22 0x48
281
282 # CHECK: vmuleuw 2, 3, 4
283 0x10 0x43 0x22 0x88
284
285 # CHECK: vmulosb 2, 3, 4                 
286 0x10 0x43 0x21 0x08
287
288 # CHECK: vmulosh 2, 3, 4                 
289 0x10 0x43 0x21 0x48
290
291 # CHECK: vmulosw 2, 3, 4
292 0x10 0x43 0x21 0x88
293
294 # CHECK: vmuloub 2, 3, 4                 
295 0x10 0x43 0x20 0x08
296
297 # CHECK: vmulouh 2, 3, 4                 
298 0x10 0x43 0x20 0x48
299
300 # CHECK: vmulouw 2, 3, 4
301 0x10 0x43 0x20 0x88
302
303 # CHECK: vmuluwm 2, 3, 4
304 0x10 0x43 0x20 0x89
305
306 # CHECK: vmhaddshs 2, 3, 4, 5            
307 0x10 0x43 0x21 0x60
308
309 # CHECK: vmhraddshs 2, 3, 4, 5           
310 0x10 0x43 0x21 0x61
311
312 # CHECK: vmladduhm 2, 3, 4, 5            
313 0x10 0x43 0x21 0x62
314
315 # CHECK: vmsumubm 2, 3, 4, 5             
316 0x10 0x43 0x21 0x64
317
318 # CHECK: vmsummbm 2, 3, 4, 5             
319 0x10 0x43 0x21 0x65
320
321 # CHECK: vmsumshm 2, 3, 4, 5             
322 0x10 0x43 0x21 0x68
323
324 # CHECK: vmsumshs 2, 3, 4, 5             
325 0x10 0x43 0x21 0x69
326
327 # CHECK: vmsumuhm 2, 3, 4, 5             
328 0x10 0x43 0x21 0x66
329
330 # CHECK: vmsumuhs 2, 3, 4, 5             
331 0x10 0x43 0x21 0x67
332
333 # CHECK: vsumsws 2, 3, 4                 
334 0x10 0x43 0x27 0x88
335
336 # CHECK: vsum2sws 2, 3, 4                
337 0x10 0x43 0x26 0x88
338
339 # CHECK: vsum4sbs 2, 3, 4                
340 0x10 0x43 0x27 0x08
341
342 # CHECK: vsum4shs 2, 3, 4                
343 0x10 0x43 0x26 0x48
344
345 # CHECK: vsum4ubs 2, 3, 4                
346 0x10 0x43 0x26 0x08
347
348 # CHECK: vavgsb 2, 3, 4                  
349 0x10 0x43 0x25 0x02
350
351 # CHECK: vavgsh 2, 3, 4                  
352 0x10 0x43 0x25 0x42
353
354 # CHECK: vavgsw 2, 3, 4                  
355 0x10 0x43 0x25 0x82
356
357 # CHECK: vavgub 2, 3, 4                  
358 0x10 0x43 0x24 0x02
359
360 # CHECK: vavguh 2, 3, 4                  
361 0x10 0x43 0x24 0x42
362
363 # CHECK: vavguw 2, 3, 4                  
364 0x10 0x43 0x24 0x82
365
366 # CHECK: vmaxsb 2, 3, 4                  
367 0x10 0x43 0x21 0x02
368
369 # CHECK: vmaxsh 2, 3, 4                  
370 0x10 0x43 0x21 0x42
371
372 # CHECK: vmaxsw 2, 3, 4                  
373 0x10 0x43 0x21 0x82
374
375 # CHECK: vmaxsd 2, 3, 4
376 0x10 0x43 0x21 0xc2
377
378 # CHECK: vmaxub 2, 3, 4                  
379 0x10 0x43 0x20 0x02
380
381 # CHECK: vmaxuh 2, 3, 4                  
382 0x10 0x43 0x20 0x42
383
384 # CHECK: vmaxuw 2, 3, 4                  
385 0x10 0x43 0x20 0x82
386
387 # CHECK: vmaxud 2, 3, 4
388 0x10 0x43 0x20 0xc2
389
390 # CHECK: vminsb 2, 3, 4                  
391 0x10 0x43 0x23 0x02
392
393 # CHECK: vminsh 2, 3, 4                  
394 0x10 0x43 0x23 0x42
395
396 # CHECK: vminsw 2, 3, 4                  
397 0x10 0x43 0x23 0x82
398
399 # CHECK: vminsd 2, 3, 4
400 0x10 0x43 0x23 0xc2
401
402 # CHECK: vminub 2, 3, 4                  
403 0x10 0x43 0x22 0x02
404
405 # CHECK: vminuh 2, 3, 4                  
406 0x10 0x43 0x22 0x42
407
408 # CHECK: vminuw 2, 3, 4                  
409 0x10 0x43 0x22 0x82
410
411 # CHECK: vminud 2, 3, 4
412 0x10 0x43 0x22 0xc2
413
414 # CHECK: vcmpequb 2, 3, 4                
415 0x10 0x43 0x20 0x06
416
417 # CHECK: vcmpequb. 2, 3, 4               
418 0x10 0x43 0x24 0x06
419
420 # CHECK: vcmpequh 2, 3, 4                
421 0x10 0x43 0x20 0x46
422
423 # CHECK: vcmpequh. 2, 3, 4               
424 0x10 0x43 0x24 0x46
425
426 # CHECK: vcmpequw 2, 3, 4                
427 0x10 0x43 0x20 0x86
428
429 # CHECK: vcmpequw. 2, 3, 4               
430 0x10 0x43 0x24 0x86
431
432 # CHECK: vcmpequd 2, 3, 4
433 0x10 0x43 0x20 0xc7
434
435 # CHECK: vcmpequd. 2, 3, 4
436 0x10 0x43 0x24 0xc7
437
438 # CHECK: vcmpgtsb 2, 3, 4                
439 0x10 0x43 0x23 0x06
440
441 # CHECK: vcmpgtsb. 2, 3, 4               
442 0x10 0x43 0x27 0x06
443
444 # CHECK: vcmpgtsh 2, 3, 4                
445 0x10 0x43 0x23 0x46
446
447 # CHECK: vcmpgtsh. 2, 3, 4               
448 0x10 0x43 0x27 0x46
449
450 # CHECK: vcmpgtsw 2, 3, 4                
451 0x10 0x43 0x23 0x86
452
453 # CHECK: vcmpgtsw. 2, 3, 4               
454 0x10 0x43 0x27 0x86
455
456 # CHECK: vcmpgtsd 2, 3, 4
457 0x10 0x43 0x23 0xc7
458
459 # CHECK: vcmpgtsd. 2, 3, 4
460 0x10 0x43 0x27 0xc7
461
462 # CHECK: vcmpgtub 2, 3, 4                
463 0x10 0x43 0x22 0x06
464
465 # CHECK: vcmpgtub. 2, 3, 4               
466 0x10 0x43 0x26 0x06
467
468 # CHECK: vcmpgtuh 2, 3, 4                
469 0x10 0x43 0x22 0x46
470
471 # CHECK: vcmpgtuh. 2, 3, 4               
472 0x10 0x43 0x26 0x46
473
474 # CHECK: vcmpgtuw 2, 3, 4                
475 0x10 0x43 0x22 0x86
476
477 # CHECK: vcmpgtuw. 2, 3, 4               
478 0x10 0x43 0x26 0x86
479
480 # CHECK: vcmpgtud 2, 3, 4
481 0x10 0x43 0x22 0xc7
482
483 # CHECK: vcmpgtud. 2, 3, 4
484 0x10 0x43 0x26 0xc7
485
486 # CHECK: vand 2, 3, 4                    
487 0x10 0x43 0x24 0x04
488
489 # CHECK: vandc 2, 3, 4                   
490 0x10 0x43 0x24 0x44
491
492 # CHECK: veqv 2, 3, 4
493 0x10 0x43 0x26 0x84
494
495 # CHECK: vnand 2, 3, 4
496 0x10 0x43 0x25 0x84
497
498 # CHECK: vorc 2, 3, 4
499 0x10 0x43 0x25 0x44
500
501 # CHECK: vnor 2, 3, 4                    
502 0x10 0x43 0x25 0x04
503
504 # CHECK: vor 2, 3, 4                     
505 0x10 0x43 0x24 0x84
506
507 # CHECK: vxor 2, 3, 4                    
508 0x10 0x43 0x24 0xc4
509
510 # CHECK: vrlb 2, 3, 4                    
511 0x10 0x43 0x20 0x04
512
513 # CHECK: vrlh 2, 3, 4                    
514 0x10 0x43 0x20 0x44
515
516 # CHECK: vrlw 2, 3, 4                    
517 0x10 0x43 0x20 0x84
518
519 # CHECK: vslb 2, 3, 4                    
520 0x10 0x43 0x21 0x04
521
522 # CHECK: vslh 2, 3, 4                    
523 0x10 0x43 0x21 0x44
524
525 # CHECK: vslw 2, 3, 4                    
526 0x10 0x43 0x21 0x84
527
528 # CHECK: vrld 2, 3, 4
529 0x10 0x43 0x20 0xc4
530
531 # CHECK: vsrb 2, 3, 4                    
532 0x10 0x43 0x22 0x04
533
534 # CHECK: vsrh 2, 3, 4                    
535 0x10 0x43 0x22 0x44
536
537 # CHECK: vsrw 2, 3, 4                    
538 0x10 0x43 0x22 0x84
539
540 # CHECK: vsrd 2, 3, 4
541 0x10 0x43 0x26 0xc4
542
543 # CHECK: vsrab 2, 3, 4                   
544 0x10 0x43 0x23 0x04
545
546 # CHECK: vsrah 2, 3, 4                   
547 0x10 0x43 0x23 0x44
548
549 # CHECK: vsraw 2, 3, 4                   
550 0x10 0x43 0x23 0x84
551
552 # CHECK: vsrad 2, 3, 4
553 0x10 0x43 0x23 0xc4
554
555 # CHECK: vaddfp 2, 3, 4                  
556 0x10 0x43 0x20 0x0a
557
558 # CHECK: vsubfp 2, 3, 4                  
559 0x10 0x43 0x20 0x4a
560
561 # CHECK: vmaddfp 2, 3, 4, 5              
562 0x10 0x43 0x29 0x2e
563
564 # CHECK: vnmsubfp 2, 3, 4, 5             
565 0x10 0x43 0x29 0x2f
566
567 # CHECK: vmaxfp 2, 3, 4                  
568 0x10 0x43 0x24 0x0a
569
570 # CHECK: vminfp 2, 3, 4                  
571 0x10 0x43 0x24 0x4a
572
573 # CHECK: vctsxs 2, 3, 4                  
574 0x10 0x44 0x1b 0xca
575
576 # CHECK: vctuxs 2, 3, 4                  
577 0x10 0x44 0x1b 0x8a
578
579 # CHECK: vcfsx 2, 3, 4                   
580 0x10 0x44 0x1b 0x4a
581
582 # CHECK: vcfux 2, 3, 4                   
583 0x10 0x44 0x1b 0x0a
584
585 # CHECK: vrfim 2, 3                      
586 0x10 0x40 0x1a 0xca
587
588 # CHECK: vrfin 2, 3                      
589 0x10 0x40 0x1a 0x0a
590
591 # CHECK: vrfip 2, 3                      
592 0x10 0x40 0x1a 0x8a
593
594 # CHECK: vrfiz 2, 3                      
595 0x10 0x40 0x1a 0x4a
596
597 # CHECK: vcmpbfp 2, 3, 4                 
598 0x10 0x43 0x23 0xc6
599
600 # CHECK: vcmpbfp. 2, 3, 4                
601 0x10 0x43 0x27 0xc6
602
603 # CHECK: vcmpeqfp 2, 3, 4                
604 0x10 0x43 0x20 0xc6
605
606 # CHECK: vcmpeqfp. 2, 3, 4               
607 0x10 0x43 0x24 0xc6
608
609 # CHECK: vcmpgefp 2, 3, 4                
610 0x10 0x43 0x21 0xc6
611
612 # CHECK: vcmpgefp. 2, 3, 4               
613 0x10 0x43 0x25 0xc6
614
615 # CHECK: vcmpgtfp 2, 3, 4                
616 0x10 0x43 0x22 0xc6
617
618 # CHECK: vcmpgtfp. 2, 3, 4               
619 0x10 0x43 0x26 0xc6
620
621 # CHECK: vexptefp 2, 3                   
622 0x10 0x40 0x19 0x8a
623
624 # CHECK: vlogefp 2, 3                    
625 0x10 0x40 0x19 0xca
626
627 # CHECK: vrefp 2, 3                      
628 0x10 0x40 0x19 0x0a
629
630 # CHECK: vrsqrtefp 2, 3                  
631 0x10 0x40 0x19 0x4a
632
633 # CHECK: vclzb 2, 3
634 0x10 0x40 0x1f 0x02
635
636 # CHECK: vclzh 2, 3
637 0x10 0x40 0x1f 0x42
638
639 # CHECK: vclzw 2, 3
640 0x10 0x40 0x1f 0x82
641
642 # CHECK: vclzd 2, 3
643 0x10 0x40 0x1f 0xc2
644
645 # CHECK: vpopcntb 2, 3
646 0x10 0x40 0x1f 0x03
647
648 # CHECK: vpopcnth 2, 3
649 0x10 0x40 0x1f 0x43
650
651 # CHECK: vpopcntw 2, 3
652 0x10 0x40 0x1f 0x83
653
654 # CHECK: vpopcntd 2, 3
655 0x10 0x40 0x1f 0xc3
656
657 # CHECK: mtvscr 2                        
658 0x10 0x00 0x16 0x44
659
660 # CHECK: mfvscr 2                        
661 0x10 0x40 0x06 0x04
662