1 # RUN: llvm-mc --disassemble %s -triple=i686 | FileCheck %s --check-prefixes=ATT
2 # RUN: llvm-mc --disassemble %s -triple=i686 -x86-asm-syntax=intel --output-asm-variant=1 | FileCheck %s --check-prefixes=INTEL
4 # ATT: vpdpbssd %ymm4, %ymm3, %ymm2
5 # INTEL: vpdpbssd ymm2, ymm3, ymm4
6 0xc4,0xe2,0x67,0x50,0xd4
8 # ATT: vpdpbssd %xmm4, %xmm3, %xmm2
9 # INTEL: vpdpbssd xmm2, xmm3, xmm4
10 0xc4,0xe2,0x63,0x50,0xd4
12 # ATT: vpdpbssd 268435456(%esp,%esi,8), %ymm3, %ymm2
13 # INTEL: vpdpbssd ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
14 0xc4,0xe2,0x67,0x50,0x94,0xf4,0x00,0x00,0x00,0x10
16 # ATT: vpdpbssd 291(%edi,%eax,4), %ymm3, %ymm2
17 # INTEL: vpdpbssd ymm2, ymm3, ymmword ptr [edi + 4*eax + 291]
18 0xc4,0xe2,0x67,0x50,0x94,0x87,0x23,0x01,0x00,0x00
20 # ATT: vpdpbssd (%eax), %ymm3, %ymm2
21 # INTEL: vpdpbssd ymm2, ymm3, ymmword ptr [eax]
22 0xc4,0xe2,0x67,0x50,0x10
24 # ATT: vpdpbssd -1024(,%ebp,2), %ymm3, %ymm2
25 # INTEL: vpdpbssd ymm2, ymm3, ymmword ptr [2*ebp - 1024]
26 0xc4,0xe2,0x67,0x50,0x14,0x6d,0x00,0xfc,0xff,0xff
28 # ATT: vpdpbssd 268435456(%esp,%esi,8), %xmm3, %xmm2
29 # INTEL: vpdpbssd xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
30 0xc4,0xe2,0x63,0x50,0x94,0xf4,0x00,0x00,0x00,0x10
32 # ATT: vpdpbssd 291(%edi,%eax,4), %xmm3, %xmm2
33 # INTEL: vpdpbssd xmm2, xmm3, xmmword ptr [edi + 4*eax + 291]
34 0xc4,0xe2,0x63,0x50,0x94,0x87,0x23,0x01,0x00,0x00
36 # ATT: vpdpbssd (%eax), %xmm3, %xmm2
37 # INTEL: vpdpbssd xmm2, xmm3, xmmword ptr [eax]
38 0xc4,0xe2,0x63,0x50,0x10
40 # ATT: vpdpbssd -512(,%ebp,2), %xmm3, %xmm2
41 # INTEL: vpdpbssd xmm2, xmm3, xmmword ptr [2*ebp - 512]
42 0xc4,0xe2,0x63,0x50,0x14,0x6d,0x00,0xfe,0xff,0xff
44 # ATT: vpdpbssds %ymm4, %ymm3, %ymm2
45 # INTEL: vpdpbssds ymm2, ymm3, ymm4
46 0xc4,0xe2,0x67,0x51,0xd4
48 # ATT: vpdpbssds %xmm4, %xmm3, %xmm2
49 # INTEL: vpdpbssds xmm2, xmm3, xmm4
50 0xc4,0xe2,0x63,0x51,0xd4
52 # ATT: vpdpbssds 268435456(%esp,%esi,8), %ymm3, %ymm2
53 # INTEL: vpdpbssds ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
54 0xc4,0xe2,0x67,0x51,0x94,0xf4,0x00,0x00,0x00,0x10
56 # ATT: vpdpbssds 291(%edi,%eax,4), %ymm3, %ymm2
57 # INTEL: vpdpbssds ymm2, ymm3, ymmword ptr [edi + 4*eax + 291]
58 0xc4,0xe2,0x67,0x51,0x94,0x87,0x23,0x01,0x00,0x00
60 # ATT: vpdpbssds (%eax), %ymm3, %ymm2
61 # INTEL: vpdpbssds ymm2, ymm3, ymmword ptr [eax]
62 0xc4,0xe2,0x67,0x51,0x10
64 # ATT: vpdpbssds -1024(,%ebp,2), %ymm3, %ymm2
65 # INTEL: vpdpbssds ymm2, ymm3, ymmword ptr [2*ebp - 1024]
66 0xc4,0xe2,0x67,0x51,0x14,0x6d,0x00,0xfc,0xff,0xff
68 # ATT: vpdpbssds 268435456(%esp,%esi,8), %xmm3, %xmm2
69 # INTEL: vpdpbssds xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
70 0xc4,0xe2,0x63,0x51,0x94,0xf4,0x00,0x00,0x00,0x10
72 # ATT: vpdpbssds 291(%edi,%eax,4), %xmm3, %xmm2
73 # INTEL: vpdpbssds xmm2, xmm3, xmmword ptr [edi + 4*eax + 291]
74 0xc4,0xe2,0x63,0x51,0x94,0x87,0x23,0x01,0x00,0x00
76 # ATT: vpdpbssds (%eax), %xmm3, %xmm2
77 # INTEL: vpdpbssds xmm2, xmm3, xmmword ptr [eax]
78 0xc4,0xe2,0x63,0x51,0x10
80 # ATT: vpdpbssds -512(,%ebp,2), %xmm3, %xmm2
81 # INTEL: vpdpbssds xmm2, xmm3, xmmword ptr [2*ebp - 512]
82 0xc4,0xe2,0x63,0x51,0x14,0x6d,0x00,0xfe,0xff,0xff
84 # ATT: vpdpbsud %ymm4, %ymm3, %ymm2
85 # INTEL: vpdpbsud ymm2, ymm3, ymm4
86 0xc4,0xe2,0x66,0x50,0xd4
88 # ATT: vpdpbsud %xmm4, %xmm3, %xmm2
89 # INTEL: vpdpbsud xmm2, xmm3, xmm4
90 0xc4,0xe2,0x62,0x50,0xd4
92 # ATT: vpdpbsud 268435456(%esp,%esi,8), %ymm3, %ymm2
93 # INTEL: vpdpbsud ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
94 0xc4,0xe2,0x66,0x50,0x94,0xf4,0x00,0x00,0x00,0x10
96 # ATT: vpdpbsud 291(%edi,%eax,4), %ymm3, %ymm2
97 # INTEL: vpdpbsud ymm2, ymm3, ymmword ptr [edi + 4*eax + 291]
98 0xc4,0xe2,0x66,0x50,0x94,0x87,0x23,0x01,0x00,0x00
100 # ATT: vpdpbsud (%eax), %ymm3, %ymm2
101 # INTEL: vpdpbsud ymm2, ymm3, ymmword ptr [eax]
102 0xc4,0xe2,0x66,0x50,0x10
104 # ATT: vpdpbsud -1024(,%ebp,2), %ymm3, %ymm2
105 # INTEL: vpdpbsud ymm2, ymm3, ymmword ptr [2*ebp - 1024]
106 0xc4,0xe2,0x66,0x50,0x14,0x6d,0x00,0xfc,0xff,0xff
108 # ATT: vpdpbsud 268435456(%esp,%esi,8), %xmm3, %xmm2
109 # INTEL: vpdpbsud xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
110 0xc4,0xe2,0x62,0x50,0x94,0xf4,0x00,0x00,0x00,0x10
112 # ATT: vpdpbsud 291(%edi,%eax,4), %xmm3, %xmm2
113 # INTEL: vpdpbsud xmm2, xmm3, xmmword ptr [edi + 4*eax + 291]
114 0xc4,0xe2,0x62,0x50,0x94,0x87,0x23,0x01,0x00,0x00
116 # ATT: vpdpbsud (%eax), %xmm3, %xmm2
117 # INTEL: vpdpbsud xmm2, xmm3, xmmword ptr [eax]
118 0xc4,0xe2,0x62,0x50,0x10
120 # ATT: vpdpbsud -512(,%ebp,2), %xmm3, %xmm2
121 # INTEL: vpdpbsud xmm2, xmm3, xmmword ptr [2*ebp - 512]
122 0xc4,0xe2,0x62,0x50,0x14,0x6d,0x00,0xfe,0xff,0xff
124 # ATT: vpdpbsuds %ymm4, %ymm3, %ymm2
125 # INTEL: vpdpbsuds ymm2, ymm3, ymm4
126 0xc4,0xe2,0x66,0x51,0xd4
128 # ATT: vpdpbsuds %xmm4, %xmm3, %xmm2
129 # INTEL: vpdpbsuds xmm2, xmm3, xmm4
130 0xc4,0xe2,0x62,0x51,0xd4
132 # ATT: vpdpbsuds 268435456(%esp,%esi,8), %ymm3, %ymm2
133 # INTEL: vpdpbsuds ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
134 0xc4,0xe2,0x66,0x51,0x94,0xf4,0x00,0x00,0x00,0x10
136 # ATT: vpdpbsuds 291(%edi,%eax,4), %ymm3, %ymm2
137 # INTEL: vpdpbsuds ymm2, ymm3, ymmword ptr [edi + 4*eax + 291]
138 0xc4,0xe2,0x66,0x51,0x94,0x87,0x23,0x01,0x00,0x00
140 # ATT: vpdpbsuds (%eax), %ymm3, %ymm2
141 # INTEL: vpdpbsuds ymm2, ymm3, ymmword ptr [eax]
142 0xc4,0xe2,0x66,0x51,0x10
144 # ATT: vpdpbsuds -1024(,%ebp,2), %ymm3, %ymm2
145 # INTEL: vpdpbsuds ymm2, ymm3, ymmword ptr [2*ebp - 1024]
146 0xc4,0xe2,0x66,0x51,0x14,0x6d,0x00,0xfc,0xff,0xff
148 # ATT: vpdpbsuds 268435456(%esp,%esi,8), %xmm3, %xmm2
149 # INTEL: vpdpbsuds xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
150 0xc4,0xe2,0x62,0x51,0x94,0xf4,0x00,0x00,0x00,0x10
152 # ATT: vpdpbsuds 291(%edi,%eax,4), %xmm3, %xmm2
153 # INTEL: vpdpbsuds xmm2, xmm3, xmmword ptr [edi + 4*eax + 291]
154 0xc4,0xe2,0x62,0x51,0x94,0x87,0x23,0x01,0x00,0x00
156 # ATT: vpdpbsuds (%eax), %xmm3, %xmm2
157 # INTEL: vpdpbsuds xmm2, xmm3, xmmword ptr [eax]
158 0xc4,0xe2,0x62,0x51,0x10
160 # ATT: vpdpbsuds -512(,%ebp,2), %xmm3, %xmm2
161 # INTEL: vpdpbsuds xmm2, xmm3, xmmword ptr [2*ebp - 512]
162 0xc4,0xe2,0x62,0x51,0x14,0x6d,0x00,0xfe,0xff,0xff
164 # ATT: vpdpbuud %ymm4, %ymm3, %ymm2
165 # INTEL: vpdpbuud ymm2, ymm3, ymm4
166 0xc4,0xe2,0x64,0x50,0xd4
168 # ATT: vpdpbuud %xmm4, %xmm3, %xmm2
169 # INTEL: vpdpbuud xmm2, xmm3, xmm4
170 0xc4,0xe2,0x60,0x50,0xd4
172 # ATT: vpdpbuud 268435456(%esp,%esi,8), %ymm3, %ymm2
173 # INTEL: vpdpbuud ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
174 0xc4,0xe2,0x64,0x50,0x94,0xf4,0x00,0x00,0x00,0x10
176 # ATT: vpdpbuud 291(%edi,%eax,4), %ymm3, %ymm2
177 # INTEL: vpdpbuud ymm2, ymm3, ymmword ptr [edi + 4*eax + 291]
178 0xc4,0xe2,0x64,0x50,0x94,0x87,0x23,0x01,0x00,0x00
180 # ATT: vpdpbuud (%eax), %ymm3, %ymm2
181 # INTEL: vpdpbuud ymm2, ymm3, ymmword ptr [eax]
182 0xc4,0xe2,0x64,0x50,0x10
184 # ATT: vpdpbuud -1024(,%ebp,2), %ymm3, %ymm2
185 # INTEL: vpdpbuud ymm2, ymm3, ymmword ptr [2*ebp - 1024]
186 0xc4,0xe2,0x64,0x50,0x14,0x6d,0x00,0xfc,0xff,0xff
188 # ATT: vpdpbuud 268435456(%esp,%esi,8), %xmm3, %xmm2
189 # INTEL: vpdpbuud xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
190 0xc4,0xe2,0x60,0x50,0x94,0xf4,0x00,0x00,0x00,0x10
192 # ATT: vpdpbuud 291(%edi,%eax,4), %xmm3, %xmm2
193 # INTEL: vpdpbuud xmm2, xmm3, xmmword ptr [edi + 4*eax + 291]
194 0xc4,0xe2,0x60,0x50,0x94,0x87,0x23,0x01,0x00,0x00
196 # ATT: vpdpbuud (%eax), %xmm3, %xmm2
197 # INTEL: vpdpbuud xmm2, xmm3, xmmword ptr [eax]
198 0xc4,0xe2,0x60,0x50,0x10
200 # ATT: vpdpbuud -512(,%ebp,2), %xmm3, %xmm2
201 # INTEL: vpdpbuud xmm2, xmm3, xmmword ptr [2*ebp - 512]
202 0xc4,0xe2,0x60,0x50,0x14,0x6d,0x00,0xfe,0xff,0xff
204 # ATT: vpdpbuuds %ymm4, %ymm3, %ymm2
205 # INTEL: vpdpbuuds ymm2, ymm3, ymm4
206 0xc4,0xe2,0x64,0x51,0xd4
208 # ATT: vpdpbuuds %xmm4, %xmm3, %xmm2
209 # INTEL: vpdpbuuds xmm2, xmm3, xmm4
210 0xc4,0xe2,0x60,0x51,0xd4
212 # ATT: vpdpbuuds 268435456(%esp,%esi,8), %ymm3, %ymm2
213 # INTEL: vpdpbuuds ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
214 0xc4,0xe2,0x64,0x51,0x94,0xf4,0x00,0x00,0x00,0x10
216 # ATT: vpdpbuuds 291(%edi,%eax,4), %ymm3, %ymm2
217 # INTEL: vpdpbuuds ymm2, ymm3, ymmword ptr [edi + 4*eax + 291]
218 0xc4,0xe2,0x64,0x51,0x94,0x87,0x23,0x01,0x00,0x00
220 # ATT: vpdpbuuds (%eax), %ymm3, %ymm2
221 # INTEL: vpdpbuuds ymm2, ymm3, ymmword ptr [eax]
222 0xc4,0xe2,0x64,0x51,0x10
224 # ATT: vpdpbuuds -1024(,%ebp,2), %ymm3, %ymm2
225 # INTEL: vpdpbuuds ymm2, ymm3, ymmword ptr [2*ebp - 1024]
226 0xc4,0xe2,0x64,0x51,0x14,0x6d,0x00,0xfc,0xff,0xff
228 # ATT: vpdpbuuds 268435456(%esp,%esi,8), %xmm3, %xmm2
229 # INTEL: vpdpbuuds xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
230 0xc4,0xe2,0x60,0x51,0x94,0xf4,0x00,0x00,0x00,0x10
232 # ATT: vpdpbuuds 291(%edi,%eax,4), %xmm3, %xmm2
233 # INTEL: vpdpbuuds xmm2, xmm3, xmmword ptr [edi + 4*eax + 291]
234 0xc4,0xe2,0x60,0x51,0x94,0x87,0x23,0x01,0x00,0x00
236 # ATT: vpdpbuuds (%eax), %xmm3, %xmm2
237 # INTEL: vpdpbuuds xmm2, xmm3, xmmword ptr [eax]
238 0xc4,0xe2,0x60,0x51,0x10
240 # ATT: vpdpbuuds -512(,%ebp,2), %xmm3, %xmm2
241 # INTEL: vpdpbuuds xmm2, xmm3, xmmword ptr [2*ebp - 512]
242 0xc4,0xe2,0x60,0x51,0x14,0x6d,0x00,0xfe,0xff,0xff