blob: 03d64f4159032f6c35c7b8dcb5ae758a5e38fe9b [file] [log] [blame]
Chris Lattnerf6d41292009-12-22 07:01:12 +00001# RUN: llvm-mc --disassemble %s -triple=x86_64-apple-darwin9 | FileCheck %s
Chris Lattnerdc9845b2009-12-22 06:37:58 +00002
3# CHECK: int $33
40xCD 0x21
5
6# CHECK: int $33
70xCD 0x21
8
9
10# CHECK: addb %al, (%rax)
Chris Lattnerdd0c01b2009-12-22 06:56:51 +0000110 0
Chris Lattnerdc9845b2009-12-22 06:37:58 +000012
13# CHECK: callq -1234
140xe8 0x2e 0xfb 0xff 0xff
15
Chris Lattner34749d82010-02-12 23:46:48 +000016# CHECK: lfence
170x0f 0xae 0xe8
18
19# CHECK: mfence
200x0f 0xae 0xf0
21
22# CHECK: monitor
230x0f 0x01 0xc8
24
25# CHECK: mwait
260x0f 0x01 0xc9
27
28# CHECK: vmcall
290x0f 0x01 0xc1
Chris Lattner140caa72010-02-13 00:41:14 +000030
31# CHECK: vmlaunch
320x0f 0x01 0xc2
33
34# CHECK: vmresume
350x0f 0x01 0xc3
36
37# CHECK: vmxoff
380x0f 0x01 0xc4
39
40# CHECK: swapgs
Chris Lattnerf83726f2010-02-13 03:42:24 +0000410x0f 0x01 0xf8
42
43# CHECK: rdtscp
Kevin Enderbyd2030e32010-03-08 22:17:26 +0000440x0f 0x01 0xf9
45
46# CHECK: vmxon
470xf3 0x0f 0xc7 0x30
48
49# CHECK: vmptrld
500x0f 0xc7 0x30
51
52# CHECK: vmptrst
530x0f 0xc7 0x38
Chris Lattner5495c8e2010-04-17 17:22:06 +000054
55# CHECK: movl $0, -4(%rbp)
560xc7 0x45 0xfc 0x00 0x00 0x00 0x00
Sean Callanane7e1cf92010-05-06 20:59:00 +000057
58# CHECK: movq %cr0, %rcx
590x0f 0x20 0xc1
Chris Lattner55595fb2010-07-13 04:23:55 +000060
61# CHECK: leal 4(%rsp), %ecx
Sean Callanan6296bbb2010-10-05 00:21:40 +0000620x8d 0x4c 0x24 0x04
63
64# CHECK: enter $1, $2
650xc8 0x01 0x00 0x02
Sean Callanan9f6c6222010-10-22 01:24:11 +000066
67# CHECK: movw $47416, -66(%rbp)
680x66 0xc7 0x45 0xbe 0x38 0xb9
Sean Callananf2f48372011-03-15 01:32:46 +000069
70# CHECK: vaddpd %ymm13, %ymm1, %ymm0
710xc4 0xc1 0x75 0x58 0xc5
72
73# CHECK: vaddps %ymm3, %ymm1, %ymm0
740xc5 0xf4 0x58 0xc3
Craig Topperba6c2a52011-08-19 05:28:50 +000075
76# CHECK: vandpd %ymm13, %ymm1, %ymm0
770xc4 0xc1 0x75 0x54 0xc5
78
79# CHECK: vandps %ymm3, %ymm1, %ymm0
800xc5 0xf4 0x54 0xc3
Craig Toppere1541832011-08-25 06:57:46 +000081
82# CHECK: vzeroall
830xc5 0xfc 0x77
84
85# CHECK: vcvtps2pd %xmm0, %ymm0
860xc5 0xfc 0x5a 0xc0
Craig Topper76e3e0b2011-08-25 07:42:00 +000087
88# CHECK: vandps (%rdx), %xmm1, %xmm7
890xc5 0xf0 0x54 0x3a
Craig Topperc66d50d2011-08-26 04:49:29 +000090
91# CHECK: vcvtss2sil %xmm0, %eax
920xc5 0xfa 0x2d 0xc0
93
94# CHECK: vcvtsd2si %xmm0, %eax
950xc5 0xfb 0x2d 0xc0
96
97# CHECK: vcvtsd2si %xmm0, %rax
980xc4 0xe1 0xfb 0x2d 0xc0
Craig Topper4f2fba12011-08-30 07:09:35 +000099
100# CHECK: vmaskmovpd %xmm0, %xmm1, (%rax)
1010xc4 0xe2 0x71 0x2f 0x00
Craig Topper94ce5352011-09-02 04:17:54 +0000102
103# CHECK: vmovapd %xmm0, %xmm2
1040xc5 0xf9 0x28 0xd0
Kevin Enderby5b03f722011-09-02 20:01:23 +0000105
106# Check X86 immediates print as signed values by default. radr://8795217
107# CHECK: andq $-16, %rsp
1080x48 0x83 0xe4 0xf0
109
110# Check these special case instructions that the immediate is not sign-extend.
111# CHECK: blendps $129, %xmm2, %xmm1
1120x66 0x0f 0x3a 0x0c 0xca 0x81
113
114# CHECK: blendpd $129, %xmm2, %xmm1
1150x66 0x0f 0x3a 0x0d 0xca 0x81
116
117# CHECK: pblendw $129, %xmm2, %xmm1
1180x66 0x0f 0x3a 0x0e 0xca 0x81
119
120# CHECK: mpsadbw $129, %xmm2, %xmm1
1210x66 0x0f 0x3a 0x42 0xca 0x81
122
123# CHECK: dpps $129, %xmm2, %xmm1
1240x66 0x0f 0x3a 0x40 0xca 0x81
125
126# CHECK: dppd $129, %xmm2, %xmm1
1270x66 0x0f 0x3a 0x41 0xca 0x81
128
129# CHECK: insertps $129, %xmm2, %xmm1
1300x66 0x0f 0x3a 0x21 0xca 0x81
131
132# CHECK: vblendps $129, %ymm2, %ymm5, %ymm1
1330xc4 0xe3 0x55 0x0c 0xca 0x81
134
135# CHECK: vblendps $129, (%rax), %ymm5, %ymm1
1360xc4 0xe3 0x55 0x0c 0x08 0x81
137
138# CHECK: vblendpd $129, %ymm2, %ymm5, %ymm1
1390xc4 0xe3 0x55 0x0d 0xca 0x81
140
141# CHECK: vblendpd $129, (%rax), %ymm5, %ymm1
1420xc4 0xe3 0x55 0x0d 0x08 0x81
143
144# CHECK: vpblendw $129, %xmm2, %xmm5, %xmm1
1450xc4 0xe3 0x51 0x0e 0xca 0x81
146
147# CHECK: vmpsadbw $129, %xmm2, %xmm5, %xmm1
1480xc4 0xe3 0x51 0x42 0xca 0x81
149
150# CHECK: vdpps $129, %ymm2, %ymm5, %ymm1
1510xc4 0xe3 0x55 0x40 0xca 0x81
152
153# CHECK: vdpps $129, (%rax), %ymm5, %ymm1
1540xc4 0xe3 0x55 0x40 0x08 0x81
155
156# CHECK: vdppd $129, %xmm2, %xmm5, %xmm1
1570xc4 0xe3 0x51 0x41 0xca 0x81
158
159# CHECK: vinsertps $129, %xmm3, %xmm2, %xmm1
1600xc4 0xe3 0x69 0x21 0xcb 0x81
Craig Toppera948cb92011-09-11 20:23:20 +0000161
162# CHECK: pause
1630xf3 0x90
Craig Toppera88e3562011-09-11 21:41:45 +0000164
165# CHECK: addl %eax, %edi
1660x01 0xc7
167
168# CHECK: addl %edi, %eax
1690x03 0xc7
170
171# CHECK: movl %eax, %edi
1720x89 0xc7
173
174# CHECK: movl %edi, %eax
1750x8b 0xc7
Craig Topper48f2b362011-09-11 23:19:54 +0000176
177# CHECK: movups %xmm1, %xmm0
1780x0f 0x10 0xc1
179
180# CHECK: movups %xmm0, %xmm1
1810x0f 0x11 0xc1
182
183# CHECK: movaps %xmm1, %xmm0
1840x0f 0x28 0xc1
185
186# CHECK: movaps %xmm0, %xmm1
1870x0f 0x29 0xc1
188
189# CHECK: movupd %xmm1, %xmm0
1900x66 0x0f 0x10 0xc1
191
192# CHECK: movupd %xmm0, %xmm1
1930x66 0x0f 0x11 0xc1
194
195# CHECK: movapd %xmm1, %xmm0
1960x66 0x0f 0x28 0xc1
197
198# CHECK: movapd %xmm0, %xmm1
1990x66 0x0f 0x29 0xc1
200
201# CHECK: vmovups %xmm1, %xmm0
Craig Toppere98d8a52011-09-13 06:54:58 +00002020xc5 0xf8 0x10 0xc1
Craig Topper48f2b362011-09-11 23:19:54 +0000203
204# CHECK: vmovups %xmm0, %xmm1
Craig Toppere98d8a52011-09-13 06:54:58 +00002050xc5 0xf8 0x11 0xc1
Craig Topper48f2b362011-09-11 23:19:54 +0000206
207# CHECK: vmovaps %xmm1, %xmm0
Craig Toppere98d8a52011-09-13 06:54:58 +00002080xc5 0xf8 0x28 0xc1
Craig Topper48f2b362011-09-11 23:19:54 +0000209
210# CHECK: vmovaps %xmm0, %xmm1
Craig Toppere98d8a52011-09-13 06:54:58 +00002110xc5 0xf8 0x29 0xc1
Craig Topper48f2b362011-09-11 23:19:54 +0000212
213# CHECK: vmovupd %xmm1, %xmm0
Craig Toppere98d8a52011-09-13 06:54:58 +00002140xc5 0xf9 0x10 0xc1
Craig Topper48f2b362011-09-11 23:19:54 +0000215
216# CHECK: vmovupd %xmm0, %xmm1
Craig Toppere98d8a52011-09-13 06:54:58 +00002170xc5 0xf9 0x11 0xc1
Craig Topper48f2b362011-09-11 23:19:54 +0000218
219# CHECK: vmovapd %xmm1, %xmm0
Craig Toppere98d8a52011-09-13 06:54:58 +00002200xc5 0xf9 0x28 0xc1
Craig Topper48f2b362011-09-11 23:19:54 +0000221
222# CHECK: vmovapd %xmm0, %xmm1
Craig Toppere98d8a52011-09-13 06:54:58 +00002230xc5 0xf9 0x29 0xc1
Craig Topper48f2b362011-09-11 23:19:54 +0000224
225# CHECK: vmovups %ymm1, %ymm0
Craig Toppere98d8a52011-09-13 06:54:58 +00002260xc5 0xfc 0x10 0xc1
Craig Topper48f2b362011-09-11 23:19:54 +0000227
228# CHECK: vmovups %ymm0, %ymm1
Craig Toppere98d8a52011-09-13 06:54:58 +00002290xc5 0xfc 0x11 0xc1
Craig Topper48f2b362011-09-11 23:19:54 +0000230
231# CHECK: vmovaps %ymm1, %ymm0
Craig Toppere98d8a52011-09-13 06:54:58 +00002320xc5 0xfc 0x28 0xc1
Craig Topper48f2b362011-09-11 23:19:54 +0000233
234# CHECK: vmovaps %ymm0, %ymm1
Craig Toppere98d8a52011-09-13 06:54:58 +00002350xc5 0xfc 0x29 0xc1
236
237# CHECK: movdqa %xmm1, %xmm0
2380x66 0x0f 0x6f 0xc1
239
240# CHECK: movdqa %xmm0, %xmm1
2410x66 0x0f 0x7f 0xc1
242
243# CHECK: movdqu %xmm1, %xmm0
2440xf3 0x0f 0x6f 0xc1
245
246# CHECK: movdqu %xmm0, %xmm1
2470xf3 0x0f 0x7f 0xc1
248
249# CHECK: vmovdqa %xmm1, %xmm0
2500xc5 0xf9 0x6f 0xc1
251
252# CHECK: vmovdqa %xmm0, %xmm1
2530xc5 0xf9 0x7f 0xc1
254
255# CHECK: vmovdqa %ymm1, %ymm0
2560xc5 0xfd 0x6f 0xc1
257
258# CHECK: vmovdqa %ymm0, %ymm1
2590xc5 0xfd 0x7f 0xc1
260
261# CHECK: vmovdqu %xmm1, %xmm0
2620xc5 0xfa 0x6f 0xc1
263
264# CHECK: vmovdqu %xmm0, %xmm1
2650xc5 0xfa 0x7f 0xc1
266
267# CHECK: vmovdqu %ymm1, %ymm0
2680xc5 0xfe 0x6f 0xc1
269
270# CHECK: vmovdqu %ymm0, %ymm1
2710xc5 0xfe 0x7f 0xc1
Craig Topper96e00e52011-09-14 05:55:28 +0000272
273# CHECK: vblendvps %xmm4, %xmm1, %xmm2, %xmm3
2740xc4 0xe3 0x69 0x4a 0xd9 0x41
Craig Topperee8157c2011-09-14 06:41:26 +0000275
276# CHECK: vroundpd $0, %xmm0, %xmm0
2770xc4 0xe3 0x79 0x09 0xc0 0x00
278
279# CHECK: vroundps $0, %xmm0, %xmm0
2800xc4 0xe3 0x79 0x08 0xc0 0x00
281
282# CHECK: vroundpd $0, %ymm0, %ymm0
2830xc4 0xe3 0x7d 0x09 0xc0 0x00
284
285# CHECK: vroundps $0, %ymm0, %ymm0
2860xc4 0xe3 0x7d 0x08 0xc0 0x00
287
288# CHECK: vroundss $0, %xmm0, %xmm0, %xmm0
2890xc4 0xe3 0x79 0x0a 0xc0 0x00
290
291# CHECK: vroundsd $0, %xmm0, %xmm0, %xmm0
2920xc4 0xe3 0x79 0x0b 0xc0 0x00
Craig Topper88cb33e2011-10-01 19:54:56 +0000293
294# CHECK: crc32b %al, %eax
2950xf2 0x0f 0x38 0xf0 0xc0
296
297# CHECK: crc32w %ax, %eax
2980x66 0xf2 0x0f 0x38 0xf1 0xc0
299
300# CHECK: crc32l %eax, %eax
3010xf2 0x0f 0x38 0xf1 0xc0
302
303# CHECK: crc32q %rax, %rax
3040xf2 0x48 0x0f 0x38 0xf1 0xc0
Craig Topperd07a59f2011-10-01 21:20:14 +0000305
306# CHECK: invept (%rax), %rax
3070x66 0x0f 0x38 0x80 0x00
308
309# CHECK: invvpid (%rax), %rax
3100x66 0x0f 0x38 0x81 0x00
Craig Topper21c33652011-10-02 16:56:09 +0000311
Craig Topper0ae8d4d2011-10-16 07:05:40 +0000312# CHECK: invpcid (%rax), %rax
3130x66 0x0f 0x38 0x82 0x00
314
Craig Topper7aea69d2011-10-02 21:08:12 +0000315# CHECK: nop
3160x90
317
Craig Topper21c33652011-10-02 16:56:09 +0000318# CHECK: xchgl %r8d, %eax
3190x41 0x90
Craig Topper7aea69d2011-10-02 21:08:12 +0000320
321# CHECK: xchgq %r8, %rax
3220x49 0x90
323
324# CHECK: addb $0, %al
3250x04 0x00
326
327# CHECK: addw $0, %ax
3280x66 0x05 0x00 0x00
329
330# CHECK: addl $0, %eax
3310x05 0x00 0x00 0x00 0x00
332
333# CHECK: addq $0, %rax
3340x48 0x05 0x00 0x00 0x00 0x00
335
336# CHECK: adcb $0, %al
3370x14 0x00
338
339# CHECK: adcw $0, %ax
3400x66 0x15 0x00 0x00
341
342# CHECK: adcl $0, %eax
3430x15 0x00 0x00 0x00 0x00
344
345# CHECK: adcq $0, %rax
3460x48 0x15 0x00 0x00 0x00 0x00
347
348# CHECK: cmpb $0, %al
3490x3c 0x00
350
351# CHECK: cmpw $0, %ax
3520x66 0x3d 0x00 0x00
353
354# CHECK: cmpl $0, %eax
3550x3d 0x00 0x00 0x00 0x00
356
357# CHECK: cmpq $0, %rax
3580x48 0x3d 0x00 0x00 0x00 0x00
359
360# CHECK: testb $0, %al
3610xa8 0x00
362
363# CHECK: testw $0, %ax
3640x66 0xa9 0x00 0x00
365
366# CHECK: testl $0, %eax
3670xa9 0x00 0x00 0x00 0x00
368
369# CHECK: testq $0, %rax
3700x48 0xa9 0x00 0x00 0x00 0x00
Craig Topper0d0be472011-10-03 08:14:29 +0000371
372# CHECK: vaddps %xmm3, %xmm15, %xmm0
3730xc4 0xe1 0x00 0x58 0xc3
Craig Topper786bdb92011-10-03 17:28:23 +0000374
375# CHECK: movbel (%rax), %eax
3760x0f 0x38 0xf0 0x00
377
378# CHECK: movbel %eax, (%rax)
3790x0f 0x38 0xf1 0x00
380
381# CHECK: movbew (%rax), %ax
3820x66 0x0f 0x38 0xf0 0x00
383
384# CHECK: movbew %ax, (%rax)
3850x66 0x0f 0x38 0xf1 0x00
386
387# CHECK: movbeq (%rax), %rax
3880x48 0x0f 0x38 0xf0 0x00
389
390# CHECK: movbeq %rax, (%rax)
3910x48 0x0f 0x38 0xf1 0x00
392
393# CHECK: rdrandw %ax
3940x66 0x0f 0xc7 0xf0
395
396# CHECK: rdrandl %eax
3970x0f 0xc7 0xf0
398
399# CHECK: rdrandq %rax
4000x48 0x0f 0xc7 0xf0
Craig Topperf18c8962011-10-04 06:30:42 +0000401
402# CHECK: vroundss $0, %xmm0, %xmm0, %xmm0
4030xc4 0xe3 0x7d 0x0a 0xc0 0x00
404
405# CHECK: vroundsd $0, %xmm0, %xmm0, %xmm0
4060xc4 0xe3 0x7d 0x0b 0xc0 0x00
407
408# CHECK: vcvtsd2si %xmm0, %eax
4090xc4 0xe1 0x7f 0x2d 0xc0
410
411# CHECK: vcvtsd2si %xmm0, %rax
4120xc4 0xe1 0xff 0x2d 0xc0
413
414# CHECK: vucomisd %xmm1, %xmm0
4150xc5 0xfd 0x2e 0xc1
416
417# CHECK: vucomiss %xmm1, %xmm0
4180xc5 0xfc 0x2e 0xc1
419
420# CHECK: vcomisd %xmm1, %xmm0
4210xc5 0xfd 0x2f 0xc1
422
423# CHECK: vcomiss %xmm1, %xmm0
4240xc5 0xfc 0x2f 0xc1
425
426# CHECK: vaddss %xmm1, %xmm0, %xmm0
4270xc5 0xfe 0x58 0xc1
Craig Topperbf136762011-10-07 05:53:50 +0000428
429# CHECK: xsave (%rax)
4300x0f 0xae 0x20
431
432# CHECK: xrstor (%rax)
4330x0f 0xae 0x28
434
435# CHECK: xsaveopt (%rax)
4360x0f 0xae 0x30
Craig Topperd9cfddc2011-10-07 07:02:24 +0000437
Craig Topperfe9179f2011-10-09 07:31:39 +0000438# CHECK: rdfsbasel %eax
Craig Topperd9cfddc2011-10-07 07:02:24 +00004390xf3 0x0f 0xae 0xc0
440
Craig Topperfe9179f2011-10-09 07:31:39 +0000441# CHECK: rdgsbasel %eax
Craig Topperd9cfddc2011-10-07 07:02:24 +00004420xf3 0x0f 0xae 0xc8
443
Craig Topperfe9179f2011-10-09 07:31:39 +0000444# CHECK: wrfsbasel %eax
Craig Topperd9cfddc2011-10-07 07:02:24 +00004450xf3 0x0f 0xae 0xd0
446
Craig Topperfe9179f2011-10-09 07:31:39 +0000447# CHECK: wrgsbasel %eax
Craig Topperd9cfddc2011-10-07 07:02:24 +00004480xf3 0x0f 0xae 0xd8
449
Craig Topperfe9179f2011-10-09 07:31:39 +0000450# CHECK: rdfsbaseq %rax
Craig Topperd9cfddc2011-10-07 07:02:24 +00004510xf3 0x48 0x0f 0xae 0xc0
452
Craig Topperfe9179f2011-10-09 07:31:39 +0000453# CHECK: rdgsbaseq %rax
Craig Topperd9cfddc2011-10-07 07:02:24 +00004540xf3 0x48 0x0f 0xae 0xc8
455
Craig Topperfe9179f2011-10-09 07:31:39 +0000456# CHECK: wrfsbaseq %rax
Craig Topperd9cfddc2011-10-07 07:02:24 +00004570xf3 0x48 0x0f 0xae 0xd0
458
Craig Topperfe9179f2011-10-09 07:31:39 +0000459# CHECK: wrgsbaseq %rax
Craig Topperd9cfddc2011-10-07 07:02:24 +00004600xf3 0x48 0x0f 0xae 0xd8
Craig Topperfe9179f2011-10-09 07:31:39 +0000461
462# CHECK: vcvtph2ps %xmm0, %xmm0
4630xc4 0xe2 0x79 0x13 0xc0
464
465# CHECK: vcvtph2ps (%rax), %xmm0
4660xc4 0xe2 0x79 0x13 0x00
467
468# CHECK: vcvtph2ps %xmm0, %ymm0
4690xc4 0xe2 0x7d 0x13 0xc0
470
471# CHECK: vcvtph2ps (%rax), %ymm0
4720xc4 0xe2 0x7d 0x13 0x00
473
474# CHECK: vcvtps2ph $0, %xmm0, %xmm0
4750xc4 0xe3 0x79 0x1d 0xc0 0x00
476
477# CHECK: vcvtps2ph $0, %xmm0, (%rax)
4780xc4 0xe3 0x79 0x1d 0x00 0x00
479
480# CHECK: vcvtps2ph $0, %ymm0, %xmm0
4810xc4 0xe3 0x7d 0x1d 0xc0 0x00
482
483# CHECK: vcvtps2ph $0, %ymm0, (%rax)
4840xc4 0xe3 0x7d 0x1d 0x00 0x00
Craig Toppera6978522011-10-11 04:34:23 +0000485
486# CHECK: popcntl %eax, %eax
4870xf3 0x0f 0xb8 0xc0
488
489# CHECK: popcntw %ax, %ax
4900x66 0xf3 0x0f 0xb8 0xc0
491
492# CHECK: popcntq %rax, %rax
4930xf3 0x48 0x0f 0xb8 0xc0
Craig Topper271064e2011-10-11 06:44:02 +0000494
495# CHECK: lzcntl %eax, %eax
4960xf3 0x0f 0xbd 0xc0
497
498# CHECK: lzcntw %ax, %ax
4990x66 0xf3 0x0f 0xbd 0xc0
500
501# CHECK: lzcntq %rax, %rax
5020xf3 0x48 0x0f 0xbd 0xc0
Craig Topper3657fe42011-10-14 03:21:46 +0000503
504# CHECK: tzcntl %eax, %eax
5050xf3 0x0f 0xbc 0xc0
506
507# CHECK: tzcntw %ax, %ax
5080x66 0xf3 0x0f 0xbc 0xc0
509
510# CHECK: tzcntq %rax, %rax
5110xf3 0x48 0x0f 0xbc 0xc0
Craig Topper965de2c2011-10-14 07:06:56 +0000512
513# CHECK: andnl %ecx, %r15d, %eax
5140xc4 0xe2 0x00 0xf2 0xc1
515
516# CHECK: andnq %rax, %r15, %rax
5170xc4 0xe2 0x80 0xf2 0xc0
518
519# CHECK: andnl (%rax), %r15d, %eax
5200xc4 0xe2 0x00 0xf2 0x00
521
522# CHECK: andnq (%rax), %r15, %rax
5230xc4 0xe2 0x80 0xf2 0x00
Craig Topper27ad1252011-10-15 20:46:47 +0000524
525# CHECK: blsrl (%rax), %r15d
5260xc4 0xe2 0x00 0xf3 0x08
527
528# CHECK: blsrq (%rax), %r15
5290xc4 0xe2 0x80 0xf3 0x08
530
531# CHECK: blsmskl (%rax), %r15d
5320xc4 0xe2 0x00 0xf3 0x10
533
534# CHECK: blsmskq (%rax), %r15
5350xc4 0xe2 0x80 0xf3 0x10
536
537# CHECK: blsil (%rax), %r15d
5380xc4 0xe2 0x00 0xf3 0x18
539
540# CHECK: blsiq (%rax), %r15
5410xc4 0xe2 0x80 0xf3 0x18
Craig Topper25ea4e52011-10-16 03:51:13 +0000542
543# CHECK: bextrl %r12d, (%rax), %r10d
5440xc4 0x62 0x18 0xf7 0x10
545
546# CHECK: bextrl %r12d, %r11d, %r10d
5470xc4 0x42 0x18 0xf7 0xd3
548
549# CHECK: bextrq %r12, (%rax), %r10
5500xc4 0x62 0x98 0xf7 0x10
551
552# CHECK: bextrq %r12, %r11, %r10
5530xc4 0x42 0x98 0xf7 0xd3
Craig Topperaea148c2011-10-16 07:55:05 +0000554
555# CHECK: bzhil %r12d, (%rax), %r10d
5560xc4 0x62 0x18 0xf5 0x10
557
558# CHECK: bzhil %r12d, %r11d, %r10d
5590xc4 0x42 0x18 0xf5 0xd3
560
561# CHECK: bzhiq %r12, (%rax), %r10
5620xc4 0x62 0x98 0xf5 0x10
563
564# CHECK: bzhiq %r12, %r11, %r10
5650xc4 0x42 0x98 0xf5 0xd3
Craig Topper96fa5972011-10-16 16:50:08 +0000566
Craig Topperef309c32011-10-19 07:48:35 +0000567# CHECK: pextl %r12d, %r11d, %r10d
Craig Topper96fa5972011-10-16 16:50:08 +00005680xc4 0x42 0x22 0xf5 0xd4
569
Craig Topperef309c32011-10-19 07:48:35 +0000570# CHECK: pextl (%rax), %r11d, %r10d
Craig Topper96fa5972011-10-16 16:50:08 +00005710xc4 0x62 0x22 0xf5 0x10
572
Craig Topperef309c32011-10-19 07:48:35 +0000573# CHECK: pextq %r12, %r11, %r10
Craig Topper96fa5972011-10-16 16:50:08 +00005740xc4 0x42 0xa2 0xf5 0xd4
575
Craig Topperef309c32011-10-19 07:48:35 +0000576# CHECK: pextq (%rax), %r11, %r10
Craig Topper96fa5972011-10-16 16:50:08 +00005770xc4 0x62 0xa2 0xf5 0x10
578
579# CHECK: pdepl %r12d, %r11d, %r10d
5800xc4 0x42 0x23 0xf5 0xd4
581
582# CHECK: pdepl (%rax), %r11d, %r10d
5830xc4 0x62 0x23 0xf5 0x10
584
585# CHECK: pdepq %r12, %r11, %r10
5860xc4 0x42 0xa3 0xf5 0xd4
587
588# CHECK: pdepq (%rax), %r11, %r10
5890xc4 0x62 0xa3 0xf5 0x10
Craig Toppere94d2772011-10-23 00:33:32 +0000590
591# CHECK: mulxl %r12d, %r11d, %r10d
5920xc4 0x42 0x23 0xf6 0xd4
593
594# CHECK: mulxl (%rax), %r11d, %r10d
5950xc4 0x62 0x23 0xf6 0x10
596
597# CHECK: mulxq %r12, %r11, %r10
5980xc4 0x42 0xa3 0xf6 0xd4
599
600# CHECK: mulxq (%rax), %r11, %r10
6010xc4 0x62 0xa3 0xf6 0x10
Craig Topper980d5982011-10-23 07:34:00 +0000602
603# CHECK: rorxl $1, %r12d, %r10d
6040xc4 0x43 0x7b 0xf0 0xd4 0x01
605
606# CHECK: rorxl $31, (%rax), %r10d
6070xc4 0x63 0x7b 0xf0 0x10 0x1f
608
609# CHECK: rorxq $1, %r12, %r10
6100xc4 0x43 0xfb 0xf0 0xd4 0x01
611
612# CHECK: rorxq $63, (%rax), %r10
6130xc4 0x63 0xfb 0xf0 0x10 0x3f
Craig Topperb05d9e92011-10-23 22:18:24 +0000614
615# CHECK: shlxl %r12d, (%rax), %r10d
6160xc4 0x62 0x19 0xf7 0x10
617
618# CHECK: shlxl %r12d, %r11d, %r10d
6190xc4 0x42 0x19 0xf7 0xd3
620
621# CHECK: shlxq %r12, (%rax), %r10
6220xc4 0x62 0x99 0xf7 0x10
623
624# CHECK: shlxq %r12, %r11, %r10
6250xc4 0x42 0x99 0xf7 0xd3
626
627# CHECK: sarxl %r12d, (%rax), %r10d
6280xc4 0x62 0x1a 0xf7 0x10
629
630# CHECK: sarxl %r12d, %r11d, %r10d
6310xc4 0x42 0x1a 0xf7 0xd3
632
633# CHECK: sarxq %r12, (%rax), %r10
6340xc4 0x62 0x9a 0xf7 0x10
635
636# CHECK: sarxq %r12, %r11, %r10
6370xc4 0x42 0x9a 0xf7 0xd3
638
639# CHECK: shrxl %r12d, (%rax), %r10d
6400xc4 0x62 0x1b 0xf7 0x10
641
642# CHECK: shrxl %r12d, %r11d, %r10d
6430xc4 0x42 0x1b 0xf7 0xd3
644
645# CHECK: shrxq %r12, (%rax), %r10
6460xc4 0x62 0x9b 0xf7 0x10
647
648# CHECK: shrxq %r12, %r11, %r10
6490xc4 0x42 0x9b 0xf7 0xd3
Craig Topper8cab06a2011-12-29 20:03:14 +0000650
651# CHECK: vfmadd132ps %xmm11, %xmm12, %xmm10
6520xc4 0x42 0x19 0x98 0xd3
653
654# CHECK: vfmadd132pd %xmm11, %xmm12, %xmm10
6550xc4 0x42 0x99 0x98 0xd3
656
657# CHECK: vfmadd132ps %ymm11, %ymm12, %ymm10
6580xc4 0x42 0x1d 0x98 0xd3
659
660# CHECK: vfmadd132pd %ymm11, %ymm12, %ymm10
6610xc4 0x42 0x9d 0x98 0xd3
662
663# CHECK: vfmadd132ps (%rax), %xmm12, %xmm10
6640xc4 0x62 0x19 0x98 0x10
665
666# CHECK: vfmadd132pd (%rax), %xmm12, %xmm10
6670xc4 0x62 0x99 0x98 0x10
668
669# CHECK: vfmadd132ps (%rax), %ymm12, %ymm10
6700xc4 0x62 0x1d 0x98 0x10
671
672# CHECK: vfmadd132pd (%rax), %ymm12, %ymm10
6730xc4 0x62 0x9d 0x98 0x10
Craig Topperd7736072011-12-29 20:43:40 +0000674
675# CHECK: vfmadd132ss %xmm11, %xmm12, %xmm10
6760xc4 0x42 0x19 0x99 0xd3
677
678# CHECK: vfmadd132sd %xmm11, %xmm12, %xmm10
6790xc4 0x42 0x99 0x99 0xd3
680
681# CHECK: vfmadd132ss (%rax), %xmm12, %xmm10
6820xc4 0x62 0x19 0x99 0x10
683
684# CHECK: vfmadd132sd (%rax), %xmm12, %xmm10
6850xc4 0x62 0x99 0x99 0x10
Craig Topper03a0bed2011-12-30 05:20:36 +0000686
687# CHEDCK: vfmaddss (%rcx), %xmm1, %xmm0, %xmm0
6880xc4 0xe3 0xf9 0x6a 0x01 0x10
689
690# CHEDCK: vfmaddss %xmm1, (%rcx), %xmm0, %xmm0
6910xc4 0xe3 0x79 0x6a 0x01 0x10