1 // RUN
: llvm-mc
-triple x86_64-unknown-unknown
-mattr
=+avxvnni
-x86-asm-syntax
=intel
-output-asm-variant
=1 --show-encoding
%s | FileCheck
%s
3 // CHECK
: {vex
} vpdpbusd ymm6
, ymm5
, ymm4
4 // CHECK
: encoding
: [0xc4,0xe2,0x55,0x50,0xf4]
5 {vex
} vpdpbusd ymm6
, ymm5
, ymm4
7 // CHECK
: {vex
} vpdpbusd xmm6
, xmm5
, xmm4
8 // CHECK
: encoding
: [0xc4,0xe2,0x51,0x50,0xf4]
9 {vex
} vpdpbusd xmm6
, xmm5
, xmm4
11 // CHECK
: {vex
} vpdpbusd ymm6
, ymm5
, ymmword ptr
[rbp
+ 8*r14 + 268435456]
12 // CHECK
: encoding
: [0xc4,0xa2,0x55,0x50,0xb4,0xf5,0x00,0x00,0x00,0x10]
13 {vex
} vpdpbusd ymm6
, ymm5
, ymmword ptr
[rbp
+ 8*r14 + 268435456]
15 // CHECK
: {vex
} vpdpbusd ymm6
, ymm5
, ymmword ptr
[r8 + 4*rax
+ 291]
16 // CHECK
: encoding
: [0xc4,0xc2,0x55,0x50,0xb4,0x80,0x23,0x01,0x00,0x00]
17 {vex
} vpdpbusd ymm6
, ymm5
, ymmword ptr
[r8 + 4*rax
+ 291]
19 // CHECK
: {vex
} vpdpbusd ymm6
, ymm5
, ymmword ptr
[rip
]
20 // CHECK
: encoding
: [0xc4,0xe2,0x55,0x50,0x35,0x00,0x00,0x00,0x00]
21 {vex
} vpdpbusd ymm6
, ymm5
, ymmword ptr
[rip
]
23 // CHECK
: {vex
} vpdpbusd ymm6
, ymm5
, ymmword ptr
[2*rbp
- 1024]
24 // CHECK
: encoding
: [0xc4,0xe2,0x55,0x50,0x34,0x6d,0x00,0xfc,0xff,0xff]
25 {vex
} vpdpbusd ymm6
, ymm5
, ymmword ptr
[2*rbp
- 1024]
27 // CHECK
: {vex
} vpdpbusd ymm6
, ymm5
, ymmword ptr
[rcx
+ 4064]
28 // CHECK
: encoding
: [0xc4,0xe2,0x55,0x50,0xb1,0xe0,0x0f,0x00,0x00]
29 {vex
} vpdpbusd ymm6
, ymm5
, ymmword ptr
[rcx
+ 4064]
31 // CHECK
: {vex
} vpdpbusd ymm6
, ymm5
, ymmword ptr
[rdx
- 4096]
32 // CHECK
: encoding
: [0xc4,0xe2,0x55,0x50,0xb2,0x00,0xf0,0xff,0xff]
33 {vex
} vpdpbusd ymm6
, ymm5
, ymmword ptr
[rdx
- 4096]
35 // CHECK
: {vex
} vpdpbusd xmm6
, xmm5
, xmmword ptr
[rbp
+ 8*r14 + 268435456]
36 // CHECK
: encoding
: [0xc4,0xa2,0x51,0x50,0xb4,0xf5,0x00,0x00,0x00,0x10]
37 {vex
} vpdpbusd xmm6
, xmm5
, xmmword ptr
[rbp
+ 8*r14 + 268435456]
39 // CHECK
: {vex
} vpdpbusd xmm6
, xmm5
, xmmword ptr
[r8 + 4*rax
+ 291]
40 // CHECK
: encoding
: [0xc4,0xc2,0x51,0x50,0xb4,0x80,0x23,0x01,0x00,0x00]
41 {vex
} vpdpbusd xmm6
, xmm5
, xmmword ptr
[r8 + 4*rax
+ 291]
43 // CHECK
: {vex
} vpdpbusd xmm6
, xmm5
, xmmword ptr
[rip
]
44 // CHECK
: encoding
: [0xc4,0xe2,0x51,0x50,0x35,0x00,0x00,0x00,0x00]
45 {vex
} vpdpbusd xmm6
, xmm5
, xmmword ptr
[rip
]
47 // CHECK
: {vex
} vpdpbusd xmm6
, xmm5
, xmmword ptr
[2*rbp
- 512]
48 // CHECK
: encoding
: [0xc4,0xe2,0x51,0x50,0x34,0x6d,0x00,0xfe,0xff,0xff]
49 {vex
} vpdpbusd xmm6
, xmm5
, xmmword ptr
[2*rbp
- 512]
51 // CHECK
: {vex
} vpdpbusd xmm6
, xmm5
, xmmword ptr
[rcx
+ 2032]
52 // CHECK
: encoding
: [0xc4,0xe2,0x51,0x50,0xb1,0xf0,0x07,0x00,0x00]
53 {vex
} vpdpbusd xmm6
, xmm5
, xmmword ptr
[rcx
+ 2032]
55 // CHECK
: {vex
} vpdpbusd xmm6
, xmm5
, xmmword ptr
[rdx
- 2048]
56 // CHECK
: encoding
: [0xc4,0xe2,0x51,0x50,0xb2,0x00,0xf8,0xff,0xff]
57 {vex
} vpdpbusd xmm6
, xmm5
, xmmword ptr
[rdx
- 2048]
59 // CHECK
: {vex
} vpdpbusds ymm6
, ymm5
, ymm4
60 // CHECK
: encoding
: [0xc4,0xe2,0x55,0x51,0xf4]
61 {vex
} vpdpbusds ymm6
, ymm5
, ymm4
63 // CHECK
: {vex
} vpdpbusds xmm6
, xmm5
, xmm4
64 // CHECK
: encoding
: [0xc4,0xe2,0x51,0x51,0xf4]
65 {vex
} vpdpbusds xmm6
, xmm5
, xmm4
67 // CHECK
: {vex
} vpdpbusds ymm6
, ymm5
, ymmword ptr
[rbp
+ 8*r14 + 268435456]
68 // CHECK
: encoding
: [0xc4,0xa2,0x55,0x51,0xb4,0xf5,0x00,0x00,0x00,0x10]
69 {vex
} vpdpbusds ymm6
, ymm5
, ymmword ptr
[rbp
+ 8*r14 + 268435456]
71 // CHECK
: {vex
} vpdpbusds ymm6
, ymm5
, ymmword ptr
[r8 + 4*rax
+ 291]
72 // CHECK
: encoding
: [0xc4,0xc2,0x55,0x51,0xb4,0x80,0x23,0x01,0x00,0x00]
73 {vex
} vpdpbusds ymm6
, ymm5
, ymmword ptr
[r8 + 4*rax
+ 291]
75 // CHECK
: {vex
} vpdpbusds ymm6
, ymm5
, ymmword ptr
[rip
]
76 // CHECK
: encoding
: [0xc4,0xe2,0x55,0x51,0x35,0x00,0x00,0x00,0x00]
77 {vex
} vpdpbusds ymm6
, ymm5
, ymmword ptr
[rip
]
79 // CHECK
: {vex
} vpdpbusds ymm6
, ymm5
, ymmword ptr
[2*rbp
- 1024]
80 // CHECK
: encoding
: [0xc4,0xe2,0x55,0x51,0x34,0x6d,0x00,0xfc,0xff,0xff]
81 {vex
} vpdpbusds ymm6
, ymm5
, ymmword ptr
[2*rbp
- 1024]
83 // CHECK
: {vex
} vpdpbusds ymm6
, ymm5
, ymmword ptr
[rcx
+ 4064]
84 // CHECK
: encoding
: [0xc4,0xe2,0x55,0x51,0xb1,0xe0,0x0f,0x00,0x00]
85 {vex
} vpdpbusds ymm6
, ymm5
, ymmword ptr
[rcx
+ 4064]
87 // CHECK
: {vex
} vpdpbusds ymm6
, ymm5
, ymmword ptr
[rdx
- 4096]
88 // CHECK
: encoding
: [0xc4,0xe2,0x55,0x51,0xb2,0x00,0xf0,0xff,0xff]
89 {vex
} vpdpbusds ymm6
, ymm5
, ymmword ptr
[rdx
- 4096]
91 // CHECK
: {vex
} vpdpbusds xmm6
, xmm5
, xmmword ptr
[rbp
+ 8*r14 + 268435456]
92 // CHECK
: encoding
: [0xc4,0xa2,0x51,0x51,0xb4,0xf5,0x00,0x00,0x00,0x10]
93 {vex
} vpdpbusds xmm6
, xmm5
, xmmword ptr
[rbp
+ 8*r14 + 268435456]
95 // CHECK
: {vex
} vpdpbusds xmm6
, xmm5
, xmmword ptr
[r8 + 4*rax
+ 291]
96 // CHECK
: encoding
: [0xc4,0xc2,0x51,0x51,0xb4,0x80,0x23,0x01,0x00,0x00]
97 {vex
} vpdpbusds xmm6
, xmm5
, xmmword ptr
[r8 + 4*rax
+ 291]
99 // CHECK
: {vex
} vpdpbusds xmm6
, xmm5
, xmmword ptr
[rip
]
100 // CHECK
: encoding
: [0xc4,0xe2,0x51,0x51,0x35,0x00,0x00,0x00,0x00]
101 {vex
} vpdpbusds xmm6
, xmm5
, xmmword ptr
[rip
]
103 // CHECK
: {vex
} vpdpbusds xmm6
, xmm5
, xmmword ptr
[2*rbp
- 512]
104 // CHECK
: encoding
: [0xc4,0xe2,0x51,0x51,0x34,0x6d,0x00,0xfe,0xff,0xff]
105 {vex
} vpdpbusds xmm6
, xmm5
, xmmword ptr
[2*rbp
- 512]
107 // CHECK
: {vex
} vpdpbusds xmm6
, xmm5
, xmmword ptr
[rcx
+ 2032]
108 // CHECK
: encoding
: [0xc4,0xe2,0x51,0x51,0xb1,0xf0,0x07,0x00,0x00]
109 {vex
} vpdpbusds xmm6
, xmm5
, xmmword ptr
[rcx
+ 2032]
111 // CHECK
: {vex
} vpdpbusds xmm6
, xmm5
, xmmword ptr
[rdx
- 2048]
112 // CHECK
: encoding
: [0xc4,0xe2,0x51,0x51,0xb2,0x00,0xf8,0xff,0xff]
113 {vex
} vpdpbusds xmm6
, xmm5
, xmmword ptr
[rdx
- 2048]
115 // CHECK
: {vex
} vpdpwssd ymm6
, ymm5
, ymm4
116 // CHECK
: encoding
: [0xc4,0xe2,0x55,0x52,0xf4]
117 {vex
} vpdpwssd ymm6
, ymm5
, ymm4
119 // CHECK
: {vex
} vpdpwssd xmm6
, xmm5
, xmm4
120 // CHECK
: encoding
: [0xc4,0xe2,0x51,0x52,0xf4]
121 {vex
} vpdpwssd xmm6
, xmm5
, xmm4
123 // CHECK
: {vex
} vpdpwssd ymm6
, ymm5
, ymmword ptr
[rbp
+ 8*r14 + 268435456]
124 // CHECK
: encoding
: [0xc4,0xa2,0x55,0x52,0xb4,0xf5,0x00,0x00,0x00,0x10]
125 {vex
} vpdpwssd ymm6
, ymm5
, ymmword ptr
[rbp
+ 8*r14 + 268435456]
127 // CHECK
: {vex
} vpdpwssd ymm6
, ymm5
, ymmword ptr
[r8 + 4*rax
+ 291]
128 // CHECK
: encoding
: [0xc4,0xc2,0x55,0x52,0xb4,0x80,0x23,0x01,0x00,0x00]
129 {vex
} vpdpwssd ymm6
, ymm5
, ymmword ptr
[r8 + 4*rax
+ 291]
131 // CHECK
: {vex
} vpdpwssd ymm6
, ymm5
, ymmword ptr
[rip
]
132 // CHECK
: encoding
: [0xc4,0xe2,0x55,0x52,0x35,0x00,0x00,0x00,0x00]
133 {vex
} vpdpwssd ymm6
, ymm5
, ymmword ptr
[rip
]
135 // CHECK
: {vex
} vpdpwssd ymm6
, ymm5
, ymmword ptr
[2*rbp
- 1024]
136 // CHECK
: encoding
: [0xc4,0xe2,0x55,0x52,0x34,0x6d,0x00,0xfc,0xff,0xff]
137 {vex
} vpdpwssd ymm6
, ymm5
, ymmword ptr
[2*rbp
- 1024]
139 // CHECK
: {vex
} vpdpwssd ymm6
, ymm5
, ymmword ptr
[rcx
+ 4064]
140 // CHECK
: encoding
: [0xc4,0xe2,0x55,0x52,0xb1,0xe0,0x0f,0x00,0x00]
141 {vex
} vpdpwssd ymm6
, ymm5
, ymmword ptr
[rcx
+ 4064]
143 // CHECK
: {vex
} vpdpwssd ymm6
, ymm5
, ymmword ptr
[rdx
- 4096]
144 // CHECK
: encoding
: [0xc4,0xe2,0x55,0x52,0xb2,0x00,0xf0,0xff,0xff]
145 {vex
} vpdpwssd ymm6
, ymm5
, ymmword ptr
[rdx
- 4096]
147 // CHECK
: {vex
} vpdpwssd xmm6
, xmm5
, xmmword ptr
[rbp
+ 8*r14 + 268435456]
148 // CHECK
: encoding
: [0xc4,0xa2,0x51,0x52,0xb4,0xf5,0x00,0x00,0x00,0x10]
149 {vex
} vpdpwssd xmm6
, xmm5
, xmmword ptr
[rbp
+ 8*r14 + 268435456]
151 // CHECK
: {vex
} vpdpwssd xmm6
, xmm5
, xmmword ptr
[r8 + 4*rax
+ 291]
152 // CHECK
: encoding
: [0xc4,0xc2,0x51,0x52,0xb4,0x80,0x23,0x01,0x00,0x00]
153 {vex
} vpdpwssd xmm6
, xmm5
, xmmword ptr
[r8 + 4*rax
+ 291]
155 // CHECK
: {vex
} vpdpwssd xmm6
, xmm5
, xmmword ptr
[rip
]
156 // CHECK
: encoding
: [0xc4,0xe2,0x51,0x52,0x35,0x00,0x00,0x00,0x00]
157 {vex
} vpdpwssd xmm6
, xmm5
, xmmword ptr
[rip
]
159 // CHECK
: {vex
} vpdpwssd xmm6
, xmm5
, xmmword ptr
[2*rbp
- 512]
160 // CHECK
: encoding
: [0xc4,0xe2,0x51,0x52,0x34,0x6d,0x00,0xfe,0xff,0xff]
161 {vex
} vpdpwssd xmm6
, xmm5
, xmmword ptr
[2*rbp
- 512]
163 // CHECK
: {vex
} vpdpwssd xmm6
, xmm5
, xmmword ptr
[rcx
+ 2032]
164 // CHECK
: encoding
: [0xc4,0xe2,0x51,0x52,0xb1,0xf0,0x07,0x00,0x00]
165 {vex
} vpdpwssd xmm6
, xmm5
, xmmword ptr
[rcx
+ 2032]
167 // CHECK
: {vex
} vpdpwssd xmm6
, xmm5
, xmmword ptr
[rdx
- 2048]
168 // CHECK
: encoding
: [0xc4,0xe2,0x51,0x52,0xb2,0x00,0xf8,0xff,0xff]
169 {vex
} vpdpwssd xmm6
, xmm5
, xmmword ptr
[rdx
- 2048]
171 // CHECK
: {vex
} vpdpwssds ymm6
, ymm5
, ymm4
172 // CHECK
: encoding
: [0xc4,0xe2,0x55,0x53,0xf4]
173 {vex
} vpdpwssds ymm6
, ymm5
, ymm4
175 // CHECK
: {vex
} vpdpwssds xmm6
, xmm5
, xmm4
176 // CHECK
: encoding
: [0xc4,0xe2,0x51,0x53,0xf4]
177 {vex
} vpdpwssds xmm6
, xmm5
, xmm4
179 // CHECK
: {vex
} vpdpwssds ymm6
, ymm5
, ymmword ptr
[rbp
+ 8*r14 + 268435456]
180 // CHECK
: encoding
: [0xc4,0xa2,0x55,0x53,0xb4,0xf5,0x00,0x00,0x00,0x10]
181 {vex
} vpdpwssds ymm6
, ymm5
, ymmword ptr
[rbp
+ 8*r14 + 268435456]
183 // CHECK
: {vex
} vpdpwssds ymm6
, ymm5
, ymmword ptr
[r8 + 4*rax
+ 291]
184 // CHECK
: encoding
: [0xc4,0xc2,0x55,0x53,0xb4,0x80,0x23,0x01,0x00,0x00]
185 {vex
} vpdpwssds ymm6
, ymm5
, ymmword ptr
[r8 + 4*rax
+ 291]
187 // CHECK
: {vex
} vpdpwssds ymm6
, ymm5
, ymmword ptr
[rip
]
188 // CHECK
: encoding
: [0xc4,0xe2,0x55,0x53,0x35,0x00,0x00,0x00,0x00]
189 {vex
} vpdpwssds ymm6
, ymm5
, ymmword ptr
[rip
]
191 // CHECK
: {vex
} vpdpwssds ymm6
, ymm5
, ymmword ptr
[2*rbp
- 1024]
192 // CHECK
: encoding
: [0xc4,0xe2,0x55,0x53,0x34,0x6d,0x00,0xfc,0xff,0xff]
193 {vex
} vpdpwssds ymm6
, ymm5
, ymmword ptr
[2*rbp
- 1024]
195 // CHECK
: {vex
} vpdpwssds ymm6
, ymm5
, ymmword ptr
[rcx
+ 4064]
196 // CHECK
: encoding
: [0xc4,0xe2,0x55,0x53,0xb1,0xe0,0x0f,0x00,0x00]
197 {vex
} vpdpwssds ymm6
, ymm5
, ymmword ptr
[rcx
+ 4064]
199 // CHECK
: {vex
} vpdpwssds ymm6
, ymm5
, ymmword ptr
[rdx
- 4096]
200 // CHECK
: encoding
: [0xc4,0xe2,0x55,0x53,0xb2,0x00,0xf0,0xff,0xff]
201 {vex
} vpdpwssds ymm6
, ymm5
, ymmword ptr
[rdx
- 4096]
203 // CHECK
: {vex
} vpdpwssds xmm6
, xmm5
, xmmword ptr
[rbp
+ 8*r14 + 268435456]
204 // CHECK
: encoding
: [0xc4,0xa2,0x51,0x53,0xb4,0xf5,0x00,0x00,0x00,0x10]
205 {vex
} vpdpwssds xmm6
, xmm5
, xmmword ptr
[rbp
+ 8*r14 + 268435456]
207 // CHECK
: {vex
} vpdpwssds xmm6
, xmm5
, xmmword ptr
[r8 + 4*rax
+ 291]
208 // CHECK
: encoding
: [0xc4,0xc2,0x51,0x53,0xb4,0x80,0x23,0x01,0x00,0x00]
209 {vex
} vpdpwssds xmm6
, xmm5
, xmmword ptr
[r8 + 4*rax
+ 291]
211 // CHECK
: {vex
} vpdpwssds xmm6
, xmm5
, xmmword ptr
[rip
]
212 // CHECK
: encoding
: [0xc4,0xe2,0x51,0x53,0x35,0x00,0x00,0x00,0x00]
213 {vex
} vpdpwssds xmm6
, xmm5
, xmmword ptr
[rip
]
215 // CHECK
: {vex
} vpdpwssds xmm6
, xmm5
, xmmword ptr
[2*rbp
- 512]
216 // CHECK
: encoding
: [0xc4,0xe2,0x51,0x53,0x34,0x6d,0x00,0xfe,0xff,0xff]
217 {vex
} vpdpwssds xmm6
, xmm5
, xmmword ptr
[2*rbp
- 512]
219 // CHECK
: {vex
} vpdpwssds xmm6
, xmm5
, xmmword ptr
[rcx
+ 2032]
220 // CHECK
: encoding
: [0xc4,0xe2,0x51,0x53,0xb1,0xf0,0x07,0x00,0x00]
221 {vex
} vpdpwssds xmm6
, xmm5
, xmmword ptr
[rcx
+ 2032]
223 // CHECK
: {vex
} vpdpwssds xmm6
, xmm5
, xmmword ptr
[rdx
- 2048]
224 // CHECK
: encoding
: [0xc4,0xe2,0x51,0x53,0xb2,0x00,0xf8,0xff,0xff]
225 {vex
} vpdpwssds xmm6
, xmm5
, xmmword ptr
[rdx
- 2048]