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