• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# RUN: llvm-mc --disassemble %s -triple=x86_64-apple-darwin9 | FileCheck %s
2
3# CHECK: int	$33
40xCD 0x21
5
6# CHECK: int	$33
70xCD 0x21
8
9# CHECK: jrcxz -127
100xe3 0x81
11
12# CHECK: jecxz -127
130x67 0xe3 0x81
14
15# CHECK: addb	%al, (%rax)
160 0
17
18# CHECK: callq	-1234
190xe8 0x2e 0xfb 0xff 0xff
20
21# CHECK: lfence
220x0f 0xae 0xe8
23
24# CHECK: mfence
250x0f 0xae 0xf0
26
27# CHECK: monitor
280x0f 0x01 0xc8
29
30# CHECK: mwait
310x0f 0x01 0xc9
32
33# CHECK: vmcall
340x0f 0x01 0xc1
35
36# CHECK: vmfunc
370x0f 0x01 0xd4
38
39# CHECK: vmlaunch
400x0f 0x01 0xc2
41
42# CHECK: vmresume
430x0f 0x01 0xc3
44
45# CHECK: vmxoff
460x0f 0x01 0xc4
47
48# CHECK: swapgs
490x0f 0x01 0xf8
50
51# CHECK: rdtscp
520x0f 0x01 0xf9
53
54# CHECK: monitorx
550x0f 0x01 0xfa
56
57# CHECK: mwaitx
580x0f 0x01 0xfb
59
60# CHECK: vmxon
610xf3 0x0f 0xc7 0x30
62
63# CHECK: vmptrld
640x0f 0xc7 0x30
65
66# CHECK: vmptrst
670x0f 0xc7 0x38
68
69# CHECK: vmrun
700x0f 0x01 0xd8
71
72# CHECK: vmmcall
730x0f 0x01 0xd9
74
75# CHECK: vmload
760x0f 0x01 0xda
77
78# CHECK: vmsave
790x0f 0x01 0xdb
80
81# CHECK: stgi
820x0f 0x01 0xdc
83
84# CHECK: clgi
850x0f 0x01 0xdd
86
87# CHECK: skinit
880x0f 0x01 0xde
89
90# CHECK: invlpga
910x0f 0x01 0xdf
92
93# CHECK: movl $0, -4(%rbp)
940xc7 0x45 0xfc 0x00 0x00 0x00 0x00
95
96# CHECK: movq	%cr0, %rcx
970x0f 0x20 0xc1
98
99# CHECK: leaw	4(%esp), %cx
1000x67 0x66 0x8d 0x4c 0x24 0x04
101
102# CHECK: leal	4(%esp), %ecx
1030x67 0x8d 0x4c 0x24 0x04
104
105# CHECK: leaq	4(%esp), %rcx
1060x67 0x48 0x8d 0x4c 0x24 0x04
107
108# CHECK: leaw	4(%rsp), %cx
1090x66 0x8d 0x4c 0x24 0x04
110
111# CHECK: leal	4(%rsp), %ecx
1120x8d 0x4c 0x24 0x04
113
114# CHECK: leaq	4(%rsp), %rcx
1150x48 0x8d 0x4c 0x24 0x04
116
117# CHECK: enter	$1, $2
1180xc8 0x01 0x00 0x02
119
120# CHECK: movw	$47416, -66(%rbp)
1210x66 0xc7 0x45 0xbe 0x38 0xb9
122
123# CHECK: vaddpd	%ymm13, %ymm1, %ymm0
1240xc4 0xc1 0x75 0x58 0xc5
125
126# CHECK: vaddps	%ymm3, %ymm1, %ymm0
1270xc5 0xf4 0x58 0xc3
128
129# CHECK: vandpd	%ymm13, %ymm1, %ymm0
1300xc4 0xc1 0x75 0x54 0xc5
131
132# CHECK: vandps	%ymm3, %ymm1, %ymm0
1330xc5 0xf4 0x54 0xc3
134
135# CHECK: vzeroall
1360xc5 0xfc 0x77
137
138# CHECK: vcvtps2pd %xmm0, %ymm0
1390xc5 0xfc 0x5a 0xc0
140
141# CHECK: vandps (%rdx), %xmm1, %xmm7
1420xc5 0xf0 0x54 0x3a
143
144# CHECK: vcvtss2si %xmm0, %eax
1450xc5 0xfa 0x2d 0xc0
146
147# CHECK: vcvtsd2si %xmm0, %eax
1480xc5 0xfb 0x2d 0xc0
149
150# CHECK: vcvtsd2si %xmm0, %rax
1510xc4 0xe1 0xfb 0x2d 0xc0
152
153# CHECK: vcvtsd2si %xmm0, %rax
1540xc4 0xe1 0xff 0x2d 0xc0
155
156# CHECK: vmaskmovpd %xmm0, %xmm1, (%rax)
1570xc4 0xe2 0x71 0x2f 0x00
158
159# CHECK: vmovapd %xmm0, %xmm2
1600xc5 0xf9 0x28 0xd0
161
162# Check X86 immediates print as signed values by default.  radr://8795217
163# CHECK: andq $-16, %rsp
1640x48 0x83 0xe4 0xf0
165
166# Check these special case instructions that the immediate is not sign-extend.
167# CHECK: blendps $129, %xmm2, %xmm1
1680x66 0x0f 0x3a 0x0c 0xca 0x81
169
170# CHECK: blendpd $129, %xmm2, %xmm1
1710x66 0x0f 0x3a 0x0d 0xca 0x81
172
173# CHECK: pblendw $129, %xmm2, %xmm1
1740x66 0x0f 0x3a 0x0e 0xca 0x81
175
176# CHECK: mpsadbw $129, %xmm2, %xmm1
1770x66 0x0f 0x3a 0x42 0xca 0x81
178
179# CHECK: dpps $129, %xmm2, %xmm1
1800x66 0x0f 0x3a 0x40 0xca 0x81
181
182# CHECK: dppd $129, %xmm2, %xmm1
1830x66 0x0f 0x3a 0x41 0xca 0x81
184
185# CHECK: insertps $129, %xmm2, %xmm1
1860x66 0x0f 0x3a 0x21 0xca 0x81
187
188# CHECK: vblendps $129, %ymm2, %ymm5, %ymm1
1890xc4 0xe3 0x55 0x0c 0xca 0x81
190
191# CHECK: vblendps $129, (%rax), %ymm5, %ymm1
1920xc4 0xe3 0x55 0x0c 0x08 0x81
193
194# CHECK: vblendpd $129, %ymm2, %ymm5, %ymm1
1950xc4 0xe3 0x55 0x0d 0xca 0x81
196
197# CHECK: vblendpd $129, (%rax), %ymm5, %ymm1
1980xc4 0xe3 0x55 0x0d 0x08 0x81
199
200# CHECK: vpblendw $129, %xmm2, %xmm5, %xmm1
2010xc4 0xe3 0x51 0x0e 0xca 0x81
202
203# CHECK: vmpsadbw $129, %xmm2, %xmm5, %xmm1
2040xc4 0xe3 0x51 0x42 0xca 0x81
205
206# CHECK: vdpps $129, %ymm2, %ymm5, %ymm1
2070xc4 0xe3 0x55 0x40 0xca 0x81
208
209# CHECK: vdpps $129, (%rax), %ymm5, %ymm1
2100xc4 0xe3 0x55 0x40 0x08 0x81
211
212# CHECK: vdppd $129, %xmm2, %xmm5, %xmm1
2130xc4 0xe3 0x51 0x41 0xca 0x81
214
215# CHECK: vinsertps $129, %xmm3, %xmm2, %xmm1
2160xc4 0xe3 0x69 0x21 0xcb 0x81
217
218# CHECK: pause
2190xf3 0x90
220
221# CHECK: addl %eax, %edi
2220x01 0xc7
223
224# CHECK: addl %edi, %eax
2250x03 0xc7
226
227# CHECK: movl %eax, %edi
2280x89 0xc7
229
230# CHECK: movl %edi, %eax
2310x8b 0xc7
232
233# CHECK: movups %xmm1, %xmm0
2340x0f 0x10 0xc1
235
236# CHECK: movups %xmm0, %xmm1
2370x0f 0x11 0xc1
238
239# CHECK: movaps %xmm1, %xmm0
2400x0f 0x28 0xc1
241
242# CHECK: movaps %xmm0, %xmm1
2430x0f 0x29 0xc1
244
245# CHECK: movupd %xmm1, %xmm0
2460x66 0x0f 0x10 0xc1
247
248# CHECK: movupd %xmm0, %xmm1
2490x66 0x0f 0x11 0xc1
250
251# CHECK: movapd %xmm1, %xmm0
2520x66 0x0f 0x28 0xc1
253
254# CHECK: movapd %xmm0, %xmm1
2550x66 0x0f 0x29 0xc1
256
257# CHECK: vmovups %xmm1, %xmm0
2580xc5 0xf8 0x10 0xc1
259
260# CHECK: vmovups %xmm0, %xmm1
2610xc5 0xf8 0x11 0xc1
262
263# CHECK: vmovaps %xmm1, %xmm0
2640xc5 0xf8 0x28 0xc1
265
266# CHECK: vmovaps %xmm0, %xmm1
2670xc5 0xf8 0x29 0xc1
268
269# CHECK: vmovupd %xmm1, %xmm0
2700xc5 0xf9 0x10 0xc1
271
272# CHECK: vmovupd %xmm0, %xmm1
2730xc5 0xf9 0x11 0xc1
274
275# CHECK: vmovapd %xmm1, %xmm0
2760xc5 0xf9 0x28 0xc1
277
278# CHECK: vmovapd %xmm0, %xmm1
2790xc5 0xf9 0x29 0xc1
280
281# CHECK: vmovups %ymm1, %ymm0
2820xc5 0xfc 0x10 0xc1
283
284# CHECK: vmovups %ymm0, %ymm1
2850xc5 0xfc 0x11 0xc1
286
287# CHECK: vmovups %ymm0, %ymm1
2880xc4 0xe1 0xfc 0x11 0xc1
289
290# CHECK: vmovaps %ymm1, %ymm0
2910xc5 0xfc 0x28 0xc1
292
293# CHECK: vmovaps %ymm0, %ymm1
2940xc5 0xfc 0x29 0xc1
295
296# CHECK: movdqa %xmm1, %xmm0
2970x66 0x0f 0x6f 0xc1
298
299# CHECK: movdqa %xmm0, %xmm1
3000x66 0x0f 0x7f 0xc1
301
302# CHECK: movdqu %xmm1, %xmm0
3030xf3 0x0f 0x6f 0xc1
304
305# CHECK: movdqu %xmm0, %xmm1
3060xf3 0x0f 0x7f 0xc1
307
308# CHECK: vmovdqa %xmm1, %xmm0
3090xc5 0xf9 0x6f 0xc1
310
311# CHECK: vmovdqa %xmm0, %xmm1
3120xc5 0xf9 0x7f 0xc1
313
314# CHECK: vmovdqa %ymm1, %ymm0
3150xc5 0xfd 0x6f 0xc1
316
317# CHECK: vmovdqa %ymm0, %ymm1
3180xc5 0xfd 0x7f 0xc1
319
320# CHECK: vmovdqu %xmm1, %xmm0
3210xc5 0xfa 0x6f 0xc1
322
323# CHECK: vmovdqu %xmm0, %xmm1
3240xc5 0xfa 0x7f 0xc1
325
326# CHECK: vmovdqu %ymm1, %ymm0
3270xc5 0xfe 0x6f 0xc1
328
329# CHECK: vmovdqu %ymm0, %ymm1
3300xc5 0xfe 0x7f 0xc1
331
332# CHECK: vblendvps %xmm4, %xmm1, %xmm2, %xmm3
3330xc4 0xe3 0x69 0x4a 0xd9 0x41
334
335# CHECK: vroundpd $0, %xmm0, %xmm0
3360xc4 0xe3 0x79 0x09 0xc0 0x00
337
338# CHECK: vroundps $0, %xmm0, %xmm0
3390xc4 0xe3 0x79 0x08 0xc0 0x00
340
341# CHECK: vroundpd $0, %ymm0, %ymm0
3420xc4 0xe3 0x7d 0x09 0xc0 0x00
343
344# CHECK: vroundps $0, %ymm0, %ymm0
3450xc4 0xe3 0x7d 0x08 0xc0 0x00
346
347# CHECK: vroundss $0, %xmm0, %xmm0, %xmm0
3480xc4 0xe3 0x79 0x0a 0xc0 0x00
349
350# CHECK: vroundsd $0, %xmm0, %xmm0, %xmm0
3510xc4 0xe3 0x79 0x0b 0xc0 0x00
352
353# CHECK: crc32b %al, %eax
3540xf2 0x0f 0x38 0xf0 0xc0
355
356# CHECK: crc32w %ax, %eax
3570x66 0xf2 0x0f 0x38 0xf1 0xc0
358
359# CHECK: crc32l %eax, %eax
3600xf2 0x0f 0x38 0xf1 0xc0
361
362# CHECK: crc32q %rax, %rax
3630xf2 0x48 0x0f 0x38 0xf1 0xc0
364
365# CHECK: invept (%rax), %rax
3660x66 0x0f 0x38 0x80 0x00
367
368# CHECK: invvpid (%rax), %rax
3690x66 0x0f 0x38 0x81 0x00
370
371# CHECK: invpcid (%rax), %rax
3720x66 0x0f 0x38 0x82 0x00
373
374# CHECK: nop
3750x90
376
377# CHECK: xchgl %r8d, %eax
3780x41 0x90
379
380# CHECK: xchgq %r8, %rax
3810x49 0x90
382
383# CHECK: xchgl %r9d, %eax
3840x41 0x91
385
386# CHECK: xchgq %r9, %rax
3870x49 0x91
388
389# CHECK: xchgl %ecx, %eax
3900x91
391
392# CHECK: xchgq %rcx, %rax
3930x48 0x91
394
395# CHECK: addb $0, %al
3960x04 0x00
397
398# CHECK: addw $0, %ax
3990x66 0x05 0x00 0x00
400
401# CHECK: addl $0, %eax
4020x05 0x00 0x00 0x00 0x00
403
404# CHECK: addq $0, %rax
4050x48 0x05 0x00 0x00 0x00 0x00
406
407# CHECK: adcb $0, %al
4080x14 0x00
409
410# CHECK: adcw $0, %ax
4110x66 0x15 0x00 0x00
412
413# CHECK: adcl $0, %eax
4140x15 0x00 0x00 0x00 0x00
415
416# CHECK: adcq $0, %rax
4170x48 0x15 0x00 0x00 0x00 0x00
418
419# CHECK: cmpb $0, %al
4200x3c 0x00
421
422# CHECK: cmpw $0, %ax
4230x66 0x3d 0x00 0x00
424
425# CHECK: cmpl $0, %eax
4260x3d 0x00 0x00 0x00 0x00
427
428# CHECK: cmpq $0, %rax
4290x48 0x3d 0x00 0x00 0x00 0x00
430
431# CHECK: testb $0, %al
4320xa8 0x00
433
434# CHECK: testw $0, %ax
4350x66 0xa9 0x00 0x00
436
437# CHECK: testl $0, %eax
4380xa9 0x00 0x00 0x00 0x00
439
440# CHECK: testq $0, %rax
4410x48 0xa9 0x00 0x00 0x00 0x00
442
443# CHECK: vaddps	%xmm3, %xmm15, %xmm0
4440xc4 0xe1 0x00 0x58 0xc3
445
446# CHECK: movbel (%rax), %eax
4470x0f 0x38 0xf0 0x00
448
449# CHECK: movbel %eax, (%rax)
4500x0f 0x38 0xf1 0x00
451
452# CHECK: movbew (%rax), %ax
4530x66 0x0f 0x38 0xf0 0x00
454
455# CHECK: movbew %ax, (%rax)
4560x66 0x0f 0x38 0xf1 0x00
457
458# CHECK: movbeq (%rax), %rax
4590x48 0x0f 0x38 0xf0 0x00
460
461# CHECK: movbeq %rax, (%rax)
4620x48 0x0f 0x38 0xf1 0x00
463
464# CHECK: rdrandw %ax
4650x66 0x0f 0xc7 0xf0
466
467# CHECK: rdrandl %eax
4680x0f 0xc7 0xf0
469
470# CHECK: rdrandq %rax
4710x48 0x0f 0xc7 0xf0
472
473# CHECK: vroundss $0, %xmm0, %xmm0, %xmm0
4740xc4 0xe3 0x7d 0x0a 0xc0 0x00
475
476# CHECK: vroundsd $0, %xmm0, %xmm0, %xmm0
4770xc4 0xe3 0x7d 0x0b 0xc0 0x00
478
479# CHECK: vcvtsd2si %xmm0, %eax
4800xc4 0xe1 0x7f 0x2d 0xc0
481
482# CHECK: vcvtsd2si %xmm0, %rax
4830xc4 0xe1 0xff 0x2d 0xc0
484
485# CHECK: vucomisd %xmm1, %xmm0
4860xc5 0xfd 0x2e 0xc1
487
488# CHECK: vucomiss %xmm1, %xmm0
4890xc5 0xfc 0x2e 0xc1
490
491# CHECK: vcomisd %xmm1, %xmm0
4920xc5 0xfd 0x2f 0xc1
493
494# CHECK: vcomiss %xmm1, %xmm0
4950xc5 0xfc 0x2f 0xc1
496
497# CHECK: vaddss %xmm1, %xmm0, %xmm0
4980xc5 0xfe 0x58 0xc1
499
500# CHECK: xsave (%rax)
5010x0f 0xae 0x20
502
503# CHECK: xrstor (%rax)
5040x0f 0xae 0x28
505
506# CHECK: xsaveopt (%rax)
5070x0f 0xae 0x30
508
509# CHECK: rdfsbasel %eax
5100xf3 0x0f 0xae 0xc0
511
512# CHECK: rdgsbasel %eax
5130xf3 0x0f 0xae 0xc8
514
515# CHECK: wrfsbasel %eax
5160xf3 0x0f 0xae 0xd0
517
518# CHECK: wrgsbasel %eax
5190xf3 0x0f 0xae 0xd8
520
521# CHECK: rdfsbaseq %rax
5220xf3 0x48 0x0f 0xae 0xc0
523
524# CHECK: rdgsbaseq %rax
5250xf3 0x48 0x0f 0xae 0xc8
526
527# CHECK: wrfsbaseq %rax
5280xf3 0x48 0x0f 0xae 0xd0
529
530# CHECK: wrgsbaseq %rax
5310xf3 0x48 0x0f 0xae 0xd8
532
533# CHECK: vcvtph2ps %xmm0, %xmm0
5340xc4 0xe2 0x79 0x13 0xc0
535
536# CHECK: vcvtph2ps (%rax), %xmm0
5370xc4 0xe2 0x79 0x13 0x00
538
539# CHECK: vcvtph2ps %xmm0, %ymm0
5400xc4 0xe2 0x7d 0x13 0xc0
541
542# CHECK: vcvtph2ps (%rax), %ymm0
5430xc4 0xe2 0x7d 0x13 0x00
544
545# CHECK: vcvtps2ph $0, %xmm0, %xmm0
5460xc4 0xe3 0x79 0x1d 0xc0 0x00
547
548# CHECK: vcvtps2ph $0, %xmm0, (%rax)
5490xc4 0xe3 0x79 0x1d 0x00 0x00
550
551# CHECK: vcvtps2ph $0, %ymm0, %xmm0
5520xc4 0xe3 0x7d 0x1d 0xc0 0x00
553
554# CHECK: vcvtps2ph $0, %ymm0, (%rax)
5550xc4 0xe3 0x7d 0x1d 0x00 0x00
556
557# CHECK: popcntl %eax, %eax
5580xf3 0x0f 0xb8 0xc0
559
560# CHECK: popcntw %ax, %ax
5610x66 0xf3 0x0f 0xb8 0xc0
562
563# CHECK: popcntq %rax, %rax
5640xf3 0x48 0x0f 0xb8 0xc0
565
566# CHECK: lzcntl %eax, %eax
5670xf3 0x0f 0xbd 0xc0
568
569# CHECK: lzcntw %ax, %ax
5700x66 0xf3 0x0f 0xbd 0xc0
571
572# CHECK: lzcntq %rax, %rax
5730xf3 0x48 0x0f 0xbd 0xc0
574
575# CHECK: tzcntl %eax, %eax
5760xf3 0x0f 0xbc 0xc0
577
578# CHECK: tzcntw %ax, %ax
5790x66 0xf3 0x0f 0xbc 0xc0
580
581# CHECK: tzcntq %rax, %rax
5820xf3 0x48 0x0f 0xbc 0xc0
583
584# CHECK: andnl %ecx, %r15d, %eax
5850xc4 0xe2 0x00 0xf2 0xc1
586
587# CHECK: andnq %rax, %r15, %rax
5880xc4 0xe2 0x80 0xf2 0xc0
589
590# CHECK: andnl (%rax), %r15d, %eax
5910xc4 0xe2 0x00 0xf2 0x00
592
593# CHECK: andnq (%rax), %r15, %rax
5940xc4 0xe2 0x80 0xf2 0x00
595
596# CHECK: blsrl (%rax), %r15d
5970xc4 0xe2 0x00 0xf3 0x08
598
599# CHECK: blsrq (%rax), %r15
6000xc4 0xe2 0x80 0xf3 0x08
601
602# CHECK: blsmskl (%rax), %r15d
6030xc4 0xe2 0x00 0xf3 0x10
604
605# CHECK: blsmskq (%rax), %r15
6060xc4 0xe2 0x80 0xf3 0x10
607
608# CHECK: blsil (%rax), %r15d
6090xc4 0xe2 0x00 0xf3 0x18
610
611# CHECK: blsiq (%rax), %r15
6120xc4 0xe2 0x80 0xf3 0x18
613
614# CHECK: bextrl %r12d, (%rax), %r10d
6150xc4 0x62 0x18 0xf7 0x10
616
617# CHECK: bextrl %r12d, %r11d, %r10d
6180xc4 0x42 0x18 0xf7 0xd3
619
620# CHECK: bextrq %r12, (%rax), %r10
6210xc4 0x62 0x98 0xf7 0x10
622
623# CHECK: bextrq %r12, %r11, %r10
6240xc4 0x42 0x98 0xf7 0xd3
625
626# CHECK: bzhil %r12d, (%rax), %r10d
6270xc4 0x62 0x18 0xf5 0x10
628
629# CHECK: bzhil %r12d, %r11d, %r10d
6300xc4 0x42 0x18 0xf5 0xd3
631
632# CHECK: bzhiq %r12, (%rax), %r10
6330xc4 0x62 0x98 0xf5 0x10
634
635# CHECK: bzhiq %r12, %r11, %r10
6360xc4 0x42 0x98 0xf5 0xd3
637
638# CHECK: pextl %r12d, %r11d, %r10d
6390xc4 0x42 0x22 0xf5 0xd4
640
641# CHECK: pextl (%rax), %r11d, %r10d
6420xc4 0x62 0x22 0xf5 0x10
643
644# CHECK: pextq %r12, %r11, %r10
6450xc4 0x42 0xa2 0xf5 0xd4
646
647# CHECK: pextq (%rax), %r11, %r10
6480xc4 0x62 0xa2 0xf5 0x10
649
650# CHECK: pdepl %r12d, %r11d, %r10d
6510xc4 0x42 0x23 0xf5 0xd4
652
653# CHECK: pdepl (%rax), %r11d, %r10d
6540xc4 0x62 0x23 0xf5 0x10
655
656# CHECK: pdepq %r12, %r11, %r10
6570xc4 0x42 0xa3 0xf5 0xd4
658
659# CHECK: pdepq (%rax), %r11, %r10
6600xc4 0x62 0xa3 0xf5 0x10
661
662# CHECK: mulxl %r12d, %r11d, %r10d
6630xc4 0x42 0x23 0xf6 0xd4
664
665# CHECK: mulxl (%rax), %r11d, %r10d
6660xc4 0x62 0x23 0xf6 0x10
667
668# CHECK: mulxq %r12, %r11, %r10
6690xc4 0x42 0xa3 0xf6 0xd4
670
671# CHECK: mulxq (%rax), %r11, %r10
6720xc4 0x62 0xa3 0xf6 0x10
673
674# CHECK: rorxl $1, %r12d, %r10d
6750xc4 0x43 0x7b 0xf0 0xd4 0x01
676
677# CHECK: rorxl $31, (%rax), %r10d
6780xc4 0x63 0x7b 0xf0 0x10 0x1f
679
680# CHECK: rorxq $1, %r12, %r10
6810xc4 0x43 0xfb 0xf0 0xd4 0x01
682
683# CHECK: rorxq $63, (%rax), %r10
6840xc4 0x63 0xfb 0xf0 0x10 0x3f
685
686# CHECK: shlxl %r12d, (%rax), %r10d
6870xc4 0x62 0x19 0xf7 0x10
688
689# CHECK: shlxl %r12d, %r11d, %r10d
6900xc4 0x42 0x19 0xf7 0xd3
691
692# CHECK: shlxq %r12, (%rax), %r10
6930xc4 0x62 0x99 0xf7 0x10
694
695# CHECK: shlxq %r12, %r11, %r10
6960xc4 0x42 0x99 0xf7 0xd3
697
698# CHECK: sarxl %r12d, (%rax), %r10d
6990xc4 0x62 0x1a 0xf7 0x10
700
701# CHECK: sarxl %r12d, %r11d, %r10d
7020xc4 0x42 0x1a 0xf7 0xd3
703
704# CHECK: sarxq %r12, (%rax), %r10
7050xc4 0x62 0x9a 0xf7 0x10
706
707# CHECK: sarxq %r12, %r11, %r10
7080xc4 0x42 0x9a 0xf7 0xd3
709
710# CHECK: shrxl %r12d, (%rax), %r10d
7110xc4 0x62 0x1b 0xf7 0x10
712
713# CHECK: shrxl %r12d, %r11d, %r10d
7140xc4 0x42 0x1b 0xf7 0xd3
715
716# CHECK: shrxq %r12, (%rax), %r10
7170xc4 0x62 0x9b 0xf7 0x10
718
719# CHECK: shrxq %r12, %r11, %r10
7200xc4 0x42 0x9b 0xf7 0xd3
721
722# CHECK: vfmadd132ps %xmm11, %xmm12, %xmm10
7230xc4 0x42 0x19 0x98 0xd3
724
725# CHECK: vfmadd132pd %xmm11, %xmm12, %xmm10
7260xc4 0x42 0x99 0x98 0xd3
727
728# CHECK: vfmadd132ps %ymm11, %ymm12, %ymm10
7290xc4 0x42 0x1d 0x98 0xd3
730
731# CHECK: vfmadd132pd %ymm11, %ymm12, %ymm10
7320xc4 0x42 0x9d 0x98 0xd3
733
734# CHECK: vfmadd132ps (%rax), %xmm12, %xmm10
7350xc4 0x62 0x19 0x98 0x10
736
737# CHECK: vfmadd132pd (%rax), %xmm12, %xmm10
7380xc4 0x62 0x99 0x98 0x10
739
740# CHECK: vfmadd132ps (%rax), %ymm12, %ymm10
7410xc4 0x62 0x1d 0x98 0x10
742
743# CHECK: vfmadd132pd (%rax), %ymm12, %ymm10
7440xc4 0x62 0x9d 0x98 0x10
745
746# CHECK: vfmadd132ss %xmm11, %xmm12, %xmm10
7470xc4 0x42 0x19 0x99 0xd3
748
749# CHECK: vfmadd132sd %xmm11, %xmm12, %xmm10
7500xc4 0x42 0x99 0x99 0xd3
751
752# CHECK: vfmadd132ss (%rax), %xmm12, %xmm10
7530xc4 0x62 0x19 0x99 0x10
754
755# CHECK: vfmadd132sd (%rax), %xmm12, %xmm10
7560xc4 0x62 0x99 0x99 0x10
757
758# CHECK: vfmaddss (%rcx), %xmm1, %xmm0, %xmm0
7590xc4 0xe3 0xf9 0x6a 0x01 0x10
760
761# CHECK: vfmaddss %xmm1, (%rcx), %xmm0, %xmm0
7620xc4 0xe3 0x79 0x6a 0x01 0x10
763
764# CHECK: vfmaddss (%rcx), %xmm1, %xmm0, %xmm0
7650xc4 0xe3 0xfd 0x6a 0x01 0x10
766
767# CHECK: vfmaddss %xmm1, (%rcx), %xmm0, %xmm0
7680xc4 0xe3 0x7d 0x6a 0x01 0x10
769
770# CHECK: vfmaddss %xmm2, %xmm1, %xmm0, %xmm0
7710xc4 0xe3 0xf9 0x6a 0xc2 0x10
772
773# CHECK: vfmaddss %xmm1, %xmm2, %xmm0, %xmm0
7740xc4 0xe3 0x79 0x6a 0xc2 0x10
775
776# CHECK: vfmaddss %xmm2, %xmm1, %xmm0, %xmm0
7770xc4 0xe3 0xfd 0x6a 0xc2 0x10
778
779# CHECK: vfmaddss %xmm1, %xmm2, %xmm0, %xmm0
7800xc4 0xe3 0x7d 0x6a 0xc2 0x10
781
782# CHECK: vfmaddps  (%rcx), %xmm1, %xmm0, %xmm0
7830xc4 0xe3 0xf9 0x68 0x01 0x10
784
785# CHECK: vfmaddps   %xmm1, (%rcx), %xmm0, %xmm0
7860xc4 0xe3 0x79 0x68 0x01 0x10
787
788# CHECK: vfmaddps   %xmm1, %xmm2, %xmm0, %xmm0
7890xc4 0xe3 0x79 0x68 0xc2 0x10
790
791# CHECK: vfmaddps   %xmm2, %xmm1, %xmm0, %xmm0
7920xc4 0xe3 0xf9 0x68 0xc2 0x10
793
794# CHECK: vfmaddps  (%rcx), %ymm1, %ymm0, %ymm0
7950xc4 0xe3 0xfd 0x68 0x01 0x10
796
797# CHECK: vfmaddps   %ymm1, (%rcx), %ymm0, %ymm0
7980xc4 0xe3 0x7d 0x68 0x01 0x10
799
800# CHECK: vfmaddps   %ymm1, %ymm2, %ymm0, %ymm0
8010xc4 0xe3 0x7d 0x68 0xc2 0x10
802
803# CHECK: vfmaddps   %ymm2, %ymm1, %ymm0, %ymm0
8040xc4 0xe3 0xfd 0x68 0xc2 0x10
805
806# CHECK: vpermil2ps $0, %xmm4, %xmm3, %xmm2, %xmm1
8070xc4 0xe3 0x69 0x48 0xcb 0x40
808
809# CHECK: vpermil2ps $1, 4(%rax), %xmm2, %xmm3, %xmm0
8100xc4 0xe3 0xe1 0x48 0x40 0x04 0x21
811
812# CHECK: vpermil2ps $2, (%rax), %ymm1, %ymm5, %ymm6
8130xc4 0xe3 0xd5 0x48 0x30 0x12
814
815# CHECK: vpermil2ps $3, %xmm1, (%rax), %xmm3, %xmm4
8160xc4 0xe3 0x61 0x48 0x20 0x13
817
818# CHECK: vpermil2ps $0, %ymm4, %ymm4, %ymm2, %ymm2
8190xc4 0xe3 0x6d 0x48 0xd4 0x40
820
821# CHECK: vpermil2pd $1, %ymm1, 4(%rax), %ymm1, %ymm0
8220xc4 0xe3 0x75 0x49 0x40 0x04 0x11
823
824# CHECK: vgatherdpd %xmm0, (%rdi,%xmm1,2), %xmm2
8250xc4 0xe2 0xf9 0x92 0x14 0x4f
826
827# CHECK: vgatherdpd %ymm0, (%rdi,%xmm1,2), %ymm2
8280xc4 0xe2 0xfd 0x92 0x14 0x4f
829
830# CHECK: vgatherqps %xmm8, (%r15,%xmm9,2), %xmm10
8310xc4 0x02 0x39 0x93 0x14 0x4f
832
833# CHECK: vgatherqps %xmm8, (%r15,%ymm9,2), %xmm10
8340xc4 0x02 0x3d 0x93 0x14 0x4f
835
836# CHECK: vpgatherdq %xmm0, (%rdi,%xmm1,2), %xmm2
8370xc4 0xe2 0xf9 0x90 0x14 0x4f
838
839# CHECK: vpgatherdq %ymm0, (%rdi,%xmm1,2), %ymm2
8400xc4 0xe2 0xfd 0x90 0x14 0x4f
841
842# CHECK: vpgatherqd %xmm8, (%r15,%xmm9,2), %xmm10
8430xc4 0x02 0x39 0x91 0x14 0x4f
844
845# CHECK: vpgatherqd %xmm8, (%r15,%ymm9,2), %xmm10
8460xc4 0x02 0x3d 0x91 0x14 0x4f
847
848# rdar://8812056 lldb doesn't print the x86 lock prefix when disassembling
849# CHECK: lock
850# CHECK-NEXT: xaddq	%rcx, %rbx
8510xf0 0x48 0x0f 0xc1 0xcb
852
853# rdar://13493622 lldb doesn't print the x86 rep/repne prefix when disassembling
854# CHECK: repne
855# CHECK-NEXT: movsl
8560xf2 0xa5
857# CHECK: repne
858# CHECK-NEXT: movsq
8590xf2 0x48 0xa5
860# CHECK: repne
861# CHECK-NEXT: movb  $0, (%rax)
8620xf2 0xc6 0x0 0x0
863
864# rdar://11019859 Support 2013 Haswell RTM instructions and HLE prefixes
865# CHECK: xrelease
866# CHECK-NEXT: lock
867# CHECK-NEXT: incl   (%rax)
8680xf3 0xf0 0xff 0x00
869
870# CHECK: xrelease
871# CHECK-NEXT: xchgl %ebx, %eax
8720xf3 0x93
873# CHECK: xrelease
874# CHECK-NEXT: xchgl %ebx, (%rax)
8750xf3 0x87 0x18
876# CHECK: xrelease
877# CHECK-NEXT: movb %al, (%rbx)
8780xf3 0x88 0x03
879# CHECK: xrelease
880# CHECK-NEXT: movl %eax, (%rbx)
8810xf3 0x89 0x03
882# CHECK: xrelease
883# CHECK-NEXT: movb $1, (%rbx)
8840xf3 0xc6 0x03 0x01
885# CHECK: xrelease
886# CHECK-NEXT: movl $1, (%rbx)
8870xf3 0xc7 0x03 0x01 0x00 0x00 0x00
888
889# CHECK: xacquire
890# CHECK-NEXT: xchgl %ebx, %eax
8910xf2 0x93
892# CHECK: xacquire
893# CHECK-NEXT: xchgl %ebx, (%rax)
8940xf2 0x87 0x18
895
896# CHECK: bextr $2814, %edi, %eax
8970x8f 0xea 0x78 0x10 0xc7 0xfe 0x0a 0x00 0x00
898
899# CHECK: blci %rdi, %rax
9000x8f 0xe9 0xf8 0x02 0xf7
901
902# CHECK: vpcmov %xmm1, %xmm2, %xmm3, %xmm4
9030x8f 0xe8 0x60 0xa2 0xe2 0x10
904
905# CHECK: vpcmov (%rax), %xmm2, %xmm3, %xmm4
9060x8f 0xe8 0xe0 0xa2 0x20 0x20
907
908# CHECK: vpcmov %xmm1, (%rax), %xmm3, %xmm4
9090x8f 0xe8 0x60 0xa2 0x20 0x10
910
911# CHECK: vpcmov %ymm1, %ymm2, %ymm3, %ymm4
9120x8f 0xe8 0x64 0xa2 0xe2 0x10
913
914# CHECK: vpcmov %ymm2, %ymm1, %ymm3, %ymm4
9150x8f 0xe8 0xe4 0xa2 0xe2 0x10
916
917# CHECK: vpcmov (%rax), %ymm2, %ymm3, %ymm4
9180x8f 0xe8 0xe4 0xa2 0x20 0x20
919
920# CHECK: vpcmov %ymm1, (%rax), %ymm3, %ymm4
9210x8f 0xe8 0x64 0xa2 0x20 0x10
922
923# CHECK: vpermil2pd $0, %xmm3, %xmm2, %xmm1, %xmm0
9240xc4 0xe3 0x71 0x49 0xc2 0x30
925
926# CHECK: vpermil2pd $0, %xmm2, %xmm3, %xmm1, %xmm0
9270xc4 0xe3 0xf1 0x49 0xc2 0x30
928
929# CHECK: vpcomeqb  %xmm6, %xmm4, %xmm2
9300x8f 0xe8 0x58 0xcc 0xd6 0x04
931
932# CHECK: vpcomneqb 8(%rax), %xmm3, %xmm2
9330x8f 0xe8 0x60 0xcc 0x50 0x08 0x05
934
935# CHECK: vpcomb $55, %xmm6, %xmm4, %xmm2
9360x8f 0xe8 0x58 0xcc 0xd6 0x37
937
938# CHECK: vpcomb $56, 8(%rax), %xmm3, %xmm2
9390x8f 0xe8 0x60 0xcc 0x50 0x08 0x38
940
941# CHECK: vpmacsdd %xmm4, %xmm6, %xmm4, %xmm2
9420x8f 0xe8 0x58 0x9e 0xd6 0x40
943# CHECK: vpmacsdd %xmm4, (%rax,%rcx), %xmm4, %xmm3
9440x8f 0xe8 0x58 0x9e 0x1c 0x08 0x40
945
946# CHECK: vprotd (%rax), %xmm0, %xmm3
9470x8f 0xe9 0xf8 0x92 0x18
948# CHECK: vprotd %xmm2, (%rax,%rcx), %xmm4
9490x8f 0xe9 0x68 0x92 0x24 0x08
950# CHECK: vprotd %xmm5, %xmm3, %xmm2
9510x8f 0xe9 0x50 0x92 0xd3
952# CHECK: vprotd $43, (%rcx), %xmm6
9530x8f 0xe8 0x78 0xc2 0x31 0x2b
954# CHECK: vprotd $44, (%rax,%rcx), %xmm7
9550x8f 0xe8 0x78 0xc2 0x3c 0x08 0x2c
956# CHECK: vprotd $45, %xmm4, %xmm4
9570x8f 0xe8 0x78 0xc2 0xe4 0x2d
958
959# CHECK: vfrczps 4(%rax), %xmm3
9600x8f 0xe9 0x78 0x80 0x58 0x04
961# CHECK: vfrczps %xmm6, %xmm5
9620x8f 0xe9 0x78 0x80 0xee
963# CHECK: vfrczps (%rcx), %xmm1
9640x8f 0xe9 0x78 0x80 0x09
965# CHECK: vfrczps %ymm2, %ymm4
9660x8f 0xe9 0x7c 0x80 0xe2
967