Add the following 64-bit vector integer arithmetic instructions added in POWER8:
[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: vsel 2, 3, 4, 5                 
124 0x10 0x43 0x21 0x6a
125
126 # CHECK: vsl 2, 3, 4                     
127 0x10 0x43 0x21 0xc4
128
129 # CHECK: vsldoi 2, 3, 4, 5               
130 0x10 0x43 0x21 0x6c
131
132 # CHECK: vslo 2, 3, 4                    
133 0x10 0x43 0x24 0x0c
134
135 # CHECK: vsr 2, 3, 4                     
136 0x10 0x43 0x22 0xc4
137
138 # CHECK: vsro 2, 3, 4                    
139 0x10 0x43 0x24 0x4c
140
141 # CHECK: vaddcuw 2, 3, 4                 
142 0x10 0x43 0x21 0x80
143
144 # CHECK: vaddsbs 2, 3, 4                 
145 0x10 0x43 0x23 0x00
146
147 # CHECK: vaddshs 2, 3, 4                 
148 0x10 0x43 0x23 0x40
149
150 # CHECK: vaddsws 2, 3, 4                 
151 0x10 0x43 0x23 0x80
152
153 # CHECK: vaddubm 2, 3, 4                 
154 0x10 0x43 0x20 0x00
155
156 # CHECK: vadduhm 2, 3, 4                 
157 0x10 0x43 0x20 0x40
158
159 # CHECK: vadduwm 2, 3, 4                 
160 0x10 0x43 0x20 0x80
161
162 # CHECK: vaddudm 2, 3, 4
163 0x10 0x43 0x20 0xc0
164
165 # CHECK: vaddubs 2, 3, 4                 
166 0x10 0x43 0x22 0x00
167
168 # CHECK: vadduhs 2, 3, 4                 
169 0x10 0x43 0x22 0x40
170
171 # CHECK: vadduws 2, 3, 4                 
172 0x10 0x43 0x22 0x80
173
174 # CHECK: vsubcuw 2, 3, 4                 
175 0x10 0x43 0x25 0x80
176
177 # CHECK: vsubsbs 2, 3, 4                 
178 0x10 0x43 0x27 0x00
179
180 # CHECK: vsubshs 2, 3, 4                 
181 0x10 0x43 0x27 0x40
182
183 # CHECK: vsubsws 2, 3, 4                 
184 0x10 0x43 0x27 0x80
185
186 # CHECK: vsububm 2, 3, 4                 
187 0x10 0x43 0x24 0x00
188
189 # CHECK: vsubuhm 2, 3, 4                 
190 0x10 0x43 0x24 0x40
191
192 # CHECK: vsubuwm 2, 3, 4                 
193 0x10 0x43 0x24 0x80
194
195 # CHECK: vsubudm 2, 3, 4
196 0x10 0x43 0x24 0xc0
197
198 # CHECK: vsububs 2, 3, 4                 
199 0x10 0x43 0x26 0x00
200
201 # CHECK: vsubuhs 2, 3, 4                 
202 0x10 0x43 0x26 0x40
203
204 # CHECK: vsubuws 2, 3, 4                 
205 0x10 0x43 0x26 0x80
206
207 # CHECK: vmulesb 2, 3, 4                 
208 0x10 0x43 0x23 0x08
209
210 # CHECK: vmulesh 2, 3, 4                 
211 0x10 0x43 0x23 0x48
212
213 # CHECK: vmulesw 2, 3, 4
214 0x10 0x43 0x23 0x88
215
216 # CHECK: vmuleub 2, 3, 4                 
217 0x10 0x43 0x22 0x08
218
219 # CHECK: vmuleuh 2, 3, 4                 
220 0x10 0x43 0x22 0x48
221
222 # CHECK: vmuleuw 2, 3, 4
223 0x10 0x43 0x22 0x88
224
225 # CHECK: vmulosb 2, 3, 4                 
226 0x10 0x43 0x21 0x08
227
228 # CHECK: vmulosh 2, 3, 4                 
229 0x10 0x43 0x21 0x48
230
231 # CHECK: vmulosw 2, 3, 4
232 0x10 0x43 0x21 0x88
233
234 # CHECK: vmuloub 2, 3, 4                 
235 0x10 0x43 0x20 0x08
236
237 # CHECK: vmulouh 2, 3, 4                 
238 0x10 0x43 0x20 0x48
239
240 # CHECK: vmulouw 2, 3, 4
241 0x10 0x43 0x20 0x88
242
243 # CHECK: vmuluwm 2, 3, 4
244 0x10 0x43 0x20 0x89
245
246 # CHECK: vmhaddshs 2, 3, 4, 5            
247 0x10 0x43 0x21 0x60
248
249 # CHECK: vmhraddshs 2, 3, 4, 5           
250 0x10 0x43 0x21 0x61
251
252 # CHECK: vmladduhm 2, 3, 4, 5            
253 0x10 0x43 0x21 0x62
254
255 # CHECK: vmsumubm 2, 3, 4, 5             
256 0x10 0x43 0x21 0x64
257
258 # CHECK: vmsummbm 2, 3, 4, 5             
259 0x10 0x43 0x21 0x65
260
261 # CHECK: vmsumshm 2, 3, 4, 5             
262 0x10 0x43 0x21 0x68
263
264 # CHECK: vmsumshs 2, 3, 4, 5             
265 0x10 0x43 0x21 0x69
266
267 # CHECK: vmsumuhm 2, 3, 4, 5             
268 0x10 0x43 0x21 0x66
269
270 # CHECK: vmsumuhs 2, 3, 4, 5             
271 0x10 0x43 0x21 0x67
272
273 # CHECK: vsumsws 2, 3, 4                 
274 0x10 0x43 0x27 0x88
275
276 # CHECK: vsum2sws 2, 3, 4                
277 0x10 0x43 0x26 0x88
278
279 # CHECK: vsum4sbs 2, 3, 4                
280 0x10 0x43 0x27 0x08
281
282 # CHECK: vsum4shs 2, 3, 4                
283 0x10 0x43 0x26 0x48
284
285 # CHECK: vsum4ubs 2, 3, 4                
286 0x10 0x43 0x26 0x08
287
288 # CHECK: vavgsb 2, 3, 4                  
289 0x10 0x43 0x25 0x02
290
291 # CHECK: vavgsh 2, 3, 4                  
292 0x10 0x43 0x25 0x42
293
294 # CHECK: vavgsw 2, 3, 4                  
295 0x10 0x43 0x25 0x82
296
297 # CHECK: vavgub 2, 3, 4                  
298 0x10 0x43 0x24 0x02
299
300 # CHECK: vavguh 2, 3, 4                  
301 0x10 0x43 0x24 0x42
302
303 # CHECK: vavguw 2, 3, 4                  
304 0x10 0x43 0x24 0x82
305
306 # CHECK: vmaxsb 2, 3, 4                  
307 0x10 0x43 0x21 0x02
308
309 # CHECK: vmaxsh 2, 3, 4                  
310 0x10 0x43 0x21 0x42
311
312 # CHECK: vmaxsw 2, 3, 4                  
313 0x10 0x43 0x21 0x82
314
315 # CHECK: vmaxsd 2, 3, 4
316 0x10 0x43 0x21 0xc2
317
318 # CHECK: vmaxub 2, 3, 4                  
319 0x10 0x43 0x20 0x02
320
321 # CHECK: vmaxuh 2, 3, 4                  
322 0x10 0x43 0x20 0x42
323
324 # CHECK: vmaxuw 2, 3, 4                  
325 0x10 0x43 0x20 0x82
326
327 # CHECK: vmaxud 2, 3, 4
328 0x10 0x43 0x20 0xc2
329
330 # CHECK: vminsb 2, 3, 4                  
331 0x10 0x43 0x23 0x02
332
333 # CHECK: vminsh 2, 3, 4                  
334 0x10 0x43 0x23 0x42
335
336 # CHECK: vminsw 2, 3, 4                  
337 0x10 0x43 0x23 0x82
338
339 # CHECK: vminsd 2, 3, 4
340 0x10 0x43 0x23 0xc2
341
342 # CHECK: vminub 2, 3, 4                  
343 0x10 0x43 0x22 0x02
344
345 # CHECK: vminuh 2, 3, 4                  
346 0x10 0x43 0x22 0x42
347
348 # CHECK: vminuw 2, 3, 4                  
349 0x10 0x43 0x22 0x82
350
351 # CHECK: vminud 2, 3, 4
352 0x10 0x43 0x22 0xc2
353
354 # CHECK: vcmpequb 2, 3, 4                
355 0x10 0x43 0x20 0x06
356
357 # CHECK: vcmpequb. 2, 3, 4               
358 0x10 0x43 0x24 0x06
359
360 # CHECK: vcmpequh 2, 3, 4                
361 0x10 0x43 0x20 0x46
362
363 # CHECK: vcmpequh. 2, 3, 4               
364 0x10 0x43 0x24 0x46
365
366 # CHECK: vcmpequw 2, 3, 4                
367 0x10 0x43 0x20 0x86
368
369 # CHECK: vcmpequw. 2, 3, 4               
370 0x10 0x43 0x24 0x86
371
372 # CHECK: vcmpequd 2, 3, 4
373 0x10 0x43 0x20 0xc7
374
375 # CHECK: vcmpequd. 2, 3, 4
376 0x10 0x43 0x24 0xc7
377
378 # CHECK: vcmpgtsb 2, 3, 4                
379 0x10 0x43 0x23 0x06
380
381 # CHECK: vcmpgtsb. 2, 3, 4               
382 0x10 0x43 0x27 0x06
383
384 # CHECK: vcmpgtsh 2, 3, 4                
385 0x10 0x43 0x23 0x46
386
387 # CHECK: vcmpgtsh. 2, 3, 4               
388 0x10 0x43 0x27 0x46
389
390 # CHECK: vcmpgtsw 2, 3, 4                
391 0x10 0x43 0x23 0x86
392
393 # CHECK: vcmpgtsw. 2, 3, 4               
394 0x10 0x43 0x27 0x86
395
396 # CHECK: vcmpgtsd 2, 3, 4
397 0x10 0x43 0x23 0xc7
398
399 # CHECK: vcmpgtsd. 2, 3, 4
400 0x10 0x43 0x27 0xc7
401
402 # CHECK: vcmpgtub 2, 3, 4                
403 0x10 0x43 0x22 0x06
404
405 # CHECK: vcmpgtub. 2, 3, 4               
406 0x10 0x43 0x26 0x06
407
408 # CHECK: vcmpgtuh 2, 3, 4                
409 0x10 0x43 0x22 0x46
410
411 # CHECK: vcmpgtuh. 2, 3, 4               
412 0x10 0x43 0x26 0x46
413
414 # CHECK: vcmpgtuw 2, 3, 4                
415 0x10 0x43 0x22 0x86
416
417 # CHECK: vcmpgtuw. 2, 3, 4               
418 0x10 0x43 0x26 0x86
419
420 # CHECK: vcmpgtud 2, 3, 4
421 0x10 0x43 0x22 0xc7
422
423 # CHECK: vcmpgtud. 2, 3, 4
424 0x10 0x43 0x26 0xc7
425
426 # CHECK: vand 2, 3, 4                    
427 0x10 0x43 0x24 0x04
428
429 # CHECK: vandc 2, 3, 4                   
430 0x10 0x43 0x24 0x44
431
432 # CHECK: veqv 2, 3, 4
433 0x10 0x43 0x26 0x84
434
435 # CHECK: vnand 2, 3, 4
436 0x10 0x43 0x25 0x84
437
438 # CHECK: vorc 2, 3, 4
439 0x10 0x43 0x25 0x44
440
441 # CHECK: vnor 2, 3, 4                    
442 0x10 0x43 0x25 0x04
443
444 # CHECK: vor 2, 3, 4                     
445 0x10 0x43 0x24 0x84
446
447 # CHECK: vxor 2, 3, 4                    
448 0x10 0x43 0x24 0xc4
449
450 # CHECK: vrlb 2, 3, 4                    
451 0x10 0x43 0x20 0x04
452
453 # CHECK: vrlh 2, 3, 4                    
454 0x10 0x43 0x20 0x44
455
456 # CHECK: vrlw 2, 3, 4                    
457 0x10 0x43 0x20 0x84
458
459 # CHECK: vslb 2, 3, 4                    
460 0x10 0x43 0x21 0x04
461
462 # CHECK: vslh 2, 3, 4                    
463 0x10 0x43 0x21 0x44
464
465 # CHECK: vslw 2, 3, 4                    
466 0x10 0x43 0x21 0x84
467
468 # CHECK: vrld 2, 3, 4
469 0x10 0x43 0x20 0xc4
470
471 # CHECK: vsrb 2, 3, 4                    
472 0x10 0x43 0x22 0x04
473
474 # CHECK: vsrh 2, 3, 4                    
475 0x10 0x43 0x22 0x44
476
477 # CHECK: vsrw 2, 3, 4                    
478 0x10 0x43 0x22 0x84
479
480 # CHECK: vsrd 2, 3, 4
481 0x10 0x43 0x26 0xc4
482
483 # CHECK: vsrab 2, 3, 4                   
484 0x10 0x43 0x23 0x04
485
486 # CHECK: vsrah 2, 3, 4                   
487 0x10 0x43 0x23 0x44
488
489 # CHECK: vsraw 2, 3, 4                   
490 0x10 0x43 0x23 0x84
491
492 # CHECK: vsrad 2, 3, 4
493 0x10 0x43 0x23 0xc4
494
495 # CHECK: vaddfp 2, 3, 4                  
496 0x10 0x43 0x20 0x0a
497
498 # CHECK: vsubfp 2, 3, 4                  
499 0x10 0x43 0x20 0x4a
500
501 # CHECK: vmaddfp 2, 3, 4, 5              
502 0x10 0x43 0x29 0x2e
503
504 # CHECK: vnmsubfp 2, 3, 4, 5             
505 0x10 0x43 0x29 0x2f
506
507 # CHECK: vmaxfp 2, 3, 4                  
508 0x10 0x43 0x24 0x0a
509
510 # CHECK: vminfp 2, 3, 4                  
511 0x10 0x43 0x24 0x4a
512
513 # CHECK: vctsxs 2, 3, 4                  
514 0x10 0x44 0x1b 0xca
515
516 # CHECK: vctuxs 2, 3, 4                  
517 0x10 0x44 0x1b 0x8a
518
519 # CHECK: vcfsx 2, 3, 4                   
520 0x10 0x44 0x1b 0x4a
521
522 # CHECK: vcfux 2, 3, 4                   
523 0x10 0x44 0x1b 0x0a
524
525 # CHECK: vrfim 2, 3                      
526 0x10 0x40 0x1a 0xca
527
528 # CHECK: vrfin 2, 3                      
529 0x10 0x40 0x1a 0x0a
530
531 # CHECK: vrfip 2, 3                      
532 0x10 0x40 0x1a 0x8a
533
534 # CHECK: vrfiz 2, 3                      
535 0x10 0x40 0x1a 0x4a
536
537 # CHECK: vcmpbfp 2, 3, 4                 
538 0x10 0x43 0x23 0xc6
539
540 # CHECK: vcmpbfp. 2, 3, 4                
541 0x10 0x43 0x27 0xc6
542
543 # CHECK: vcmpeqfp 2, 3, 4                
544 0x10 0x43 0x20 0xc6
545
546 # CHECK: vcmpeqfp. 2, 3, 4               
547 0x10 0x43 0x24 0xc6
548
549 # CHECK: vcmpgefp 2, 3, 4                
550 0x10 0x43 0x21 0xc6
551
552 # CHECK: vcmpgefp. 2, 3, 4               
553 0x10 0x43 0x25 0xc6
554
555 # CHECK: vcmpgtfp 2, 3, 4                
556 0x10 0x43 0x22 0xc6
557
558 # CHECK: vcmpgtfp. 2, 3, 4               
559 0x10 0x43 0x26 0xc6
560
561 # CHECK: vexptefp 2, 3                   
562 0x10 0x40 0x19 0x8a
563
564 # CHECK: vlogefp 2, 3                    
565 0x10 0x40 0x19 0xca
566
567 # CHECK: vrefp 2, 3                      
568 0x10 0x40 0x19 0x0a
569
570 # CHECK: vrsqrtefp 2, 3                  
571 0x10 0x40 0x19 0x4a
572
573 # CHECK: vclzb 2, 3
574 0x10 0x40 0x1f 0x02
575
576 # CHECK: vclzh 2, 3
577 0x10 0x40 0x1f 0x42
578
579 # CHECK: vclzw 2, 3
580 0x10 0x40 0x1f 0x82
581
582 # CHECK: vclzd 2, 3
583 0x10 0x40 0x1f 0xc2
584
585 # CHECK: vpopcntb 2, 3
586 0x10 0x40 0x1f 0x03
587
588 # CHECK: vpopcnth 2, 3
589 0x10 0x40 0x1f 0x43
590
591 # CHECK: vpopcntw 2, 3
592 0x10 0x40 0x1f 0x83
593
594 # CHECK: vpopcntd 2, 3
595 0x10 0x40 0x1f 0xc3
596
597 # CHECK: mtvscr 2                        
598 0x10 0x00 0x16 0x44
599
600 # CHECK: mfvscr 2                        
601 0x10 0x40 0x06 0x04
602