Support for encoding all FMA4 instructions and tablegen patterns for all
[oota-llvm.git] / test / MC / X86 / x86_64-fma4-encoding.s
1 // RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding %s | FileCheck %s
2
3 // vfmadd
4 // CHECK: vfmaddss  (%rcx), %xmm1, %xmm0, %xmm0
5 // CHECK: encoding: [0xc4,0xe3,0xf9,0x6a,0x01,0x10]
6           vfmaddss  (%rcx), %xmm1, %xmm0, %xmm0
7
8 // CHECK: vfmaddss   %xmm1, (%rcx), %xmm0, %xmm0
9 // CHECK: encoding: [0xc4,0xe3,0x79,0x6a,0x01,0x10]
10           vfmaddss   %xmm1, (%rcx),%xmm0, %xmm0
11
12 // CHECK: vfmaddss   %xmm2, %xmm1, %xmm0, %xmm0
13 // CHECK: encoding: [0xc4,0xe3,0xf9,0x6a,0xc2,0x10]
14           vfmaddss   %xmm2, %xmm1, %xmm0, %xmm0
15
16 // CHECK: vfmaddsd  (%rcx), %xmm1, %xmm0, %xmm0
17 // CHECK: encoding: [0xc4,0xe3,0xf9,0x6b,0x01,0x10]
18           vfmaddsd  (%rcx), %xmm1, %xmm0, %xmm0
19
20 // CHECK: vfmaddsd   %xmm1, (%rcx), %xmm0, %xmm0
21 // CHECK: encoding: [0xc4,0xe3,0x79,0x6b,0x01,0x10]
22           vfmaddsd   %xmm1, (%rcx),%xmm0, %xmm0
23
24 // CHECK: vfmaddsd   %xmm2, %xmm1, %xmm0, %xmm0
25 // CHECK: encoding: [0xc4,0xe3,0xf9,0x6b,0xc2,0x10]
26           vfmaddsd   %xmm2, %xmm1, %xmm0, %xmm0
27
28 // CHECK: vfmaddps  (%rcx), %xmm1, %xmm0, %xmm0
29 // CHECK: encoding: [0xc4,0xe3,0xf9,0x68,0x01,0x10]
30           vfmaddps  (%rcx), %xmm1, %xmm0, %xmm0
31
32 // CHECK: vfmaddps   %xmm1, (%rcx), %xmm0, %xmm0
33 // CHECK: encoding: [0xc4,0xe3,0x79,0x68,0x01,0x10]
34           vfmaddps   %xmm1, (%rcx),%xmm0, %xmm0
35
36 // CHECK: vfmaddps   %xmm2, %xmm1, %xmm0, %xmm0
37 // CHECK: encoding: [0xc4,0xe3,0xf9,0x68,0xc2,0x10]
38           vfmaddps   %xmm2, %xmm1, %xmm0, %xmm0
39
40 // CHECK: vfmaddpd  (%rcx), %xmm1, %xmm0, %xmm0
41 // CHECK: encoding: [0xc4,0xe3,0xf9,0x69,0x01,0x10]
42           vfmaddpd  (%rcx), %xmm1, %xmm0, %xmm0
43
44 // CHECK: vfmaddpd   %xmm1, (%rcx), %xmm0, %xmm0
45 // CHECK: encoding: [0xc4,0xe3,0x79,0x69,0x01,0x10]
46           vfmaddpd   %xmm1, (%rcx),%xmm0, %xmm0
47
48 // CHECK: vfmaddpd   %xmm2, %xmm1, %xmm0, %xmm0
49 // CHECK: encoding: [0xc4,0xe3,0xf9,0x69,0xc2,0x10]
50           vfmaddpd   %xmm2, %xmm1, %xmm0, %xmm0
51
52 // CHECK: vfmaddps  (%rcx), %ymm1, %ymm0, %ymm0
53 // CHECK: encoding: [0xc4,0xe3,0xfd,0x68,0x01,0x10]
54           vfmaddps  (%rcx), %ymm1, %ymm0, %ymm0
55
56 // CHECK: vfmaddps   %ymm1, (%rcx), %ymm0, %ymm0
57 // CHECK: encoding: [0xc4,0xe3,0x7d,0x68,0x01,0x10]
58           vfmaddps   %ymm1, (%rcx),%ymm0, %ymm0
59
60 // CHECK: vfmaddps   %ymm2, %ymm1, %ymm0, %ymm0
61 // CHECK: encoding: [0xc4,0xe3,0xfd,0x68,0xc2,0x10]
62           vfmaddps   %ymm2, %ymm1, %ymm0, %ymm0
63
64 // CHECK: vfmaddpd  (%rcx), %ymm1, %ymm0, %ymm0
65 // CHECK: encoding: [0xc4,0xe3,0xfd,0x69,0x01,0x10]
66           vfmaddpd  (%rcx), %ymm1, %ymm0, %ymm0
67
68 // CHECK: vfmaddpd   %ymm1, (%rcx), %ymm0, %ymm0
69 // CHECK: encoding: [0xc4,0xe3,0x7d,0x69,0x01,0x10]
70           vfmaddpd   %ymm1, (%rcx),%ymm0, %ymm0
71
72 // CHECK: vfmaddpd   %ymm2, %ymm1, %ymm0, %ymm0
73 // CHECK: encoding: [0xc4,0xe3,0xfd,0x69,0xc2,0x10]
74           vfmaddpd   %ymm2, %ymm1, %ymm0, %ymm0
75
76 // vfmsub
77 // CHECK: vfmsubss  (%rcx), %xmm1, %xmm0, %xmm0
78 // CHECK: encoding: [0xc4,0xe3,0xf9,0x6e,0x01,0x10]
79           vfmsubss  (%rcx), %xmm1, %xmm0, %xmm0
80
81 // CHECK: vfmsubss   %xmm1, (%rcx), %xmm0, %xmm0
82 // CHECK: encoding: [0xc4,0xe3,0x79,0x6e,0x01,0x10]
83           vfmsubss   %xmm1, (%rcx),%xmm0, %xmm0
84
85 // CHECK: vfmsubss   %xmm2, %xmm1, %xmm0, %xmm0
86 // CHECK: encoding: [0xc4,0xe3,0xf9,0x6e,0xc2,0x10]
87           vfmsubss   %xmm2, %xmm1, %xmm0, %xmm0
88
89 // CHECK: vfmsubsd  (%rcx), %xmm1, %xmm0, %xmm0
90 // CHECK: encoding: [0xc4,0xe3,0xf9,0x6f,0x01,0x10]
91           vfmsubsd  (%rcx), %xmm1, %xmm0, %xmm0
92
93 // CHECK: vfmsubsd   %xmm1, (%rcx), %xmm0, %xmm0
94 // CHECK: encoding: [0xc4,0xe3,0x79,0x6f,0x01,0x10]
95           vfmsubsd   %xmm1, (%rcx),%xmm0, %xmm0
96
97 // CHECK: vfmsubsd   %xmm2, %xmm1, %xmm0, %xmm0
98 // CHECK: encoding: [0xc4,0xe3,0xf9,0x6f,0xc2,0x10]
99           vfmsubsd   %xmm2, %xmm1, %xmm0, %xmm0
100
101 // CHECK: vfmsubps  (%rcx), %xmm1, %xmm0, %xmm0
102 // CHECK: encoding: [0xc4,0xe3,0xf9,0x6c,0x01,0x10]
103           vfmsubps  (%rcx), %xmm1, %xmm0, %xmm0
104
105 // CHECK: vfmsubps   %xmm1, (%rcx), %xmm0, %xmm0
106 // CHECK: encoding: [0xc4,0xe3,0x79,0x6c,0x01,0x10]
107           vfmsubps   %xmm1, (%rcx),%xmm0, %xmm0
108
109 // CHECK: vfmsubps   %xmm2, %xmm1, %xmm0, %xmm0
110 // CHECK: encoding: [0xc4,0xe3,0xf9,0x6c,0xc2,0x10]
111           vfmsubps   %xmm2, %xmm1, %xmm0, %xmm0
112
113 // CHECK: vfmsubpd  (%rcx), %xmm1, %xmm0, %xmm0
114 // CHECK: encoding: [0xc4,0xe3,0xf9,0x6d,0x01,0x10]
115           vfmsubpd  (%rcx), %xmm1, %xmm0, %xmm0
116
117 // CHECK: vfmsubpd   %xmm1, (%rcx), %xmm0, %xmm0
118 // CHECK: encoding: [0xc4,0xe3,0x79,0x6d,0x01,0x10]
119           vfmsubpd   %xmm1, (%rcx),%xmm0, %xmm0
120
121 // CHECK: vfmsubpd   %xmm2, %xmm1, %xmm0, %xmm0
122 // CHECK: encoding: [0xc4,0xe3,0xf9,0x6d,0xc2,0x10]
123           vfmsubpd   %xmm2, %xmm1, %xmm0, %xmm0
124
125 // CHECK: vfmsubps  (%rcx), %ymm1, %ymm0, %ymm0
126 // CHECK: encoding: [0xc4,0xe3,0xfd,0x6c,0x01,0x10]
127           vfmsubps  (%rcx), %ymm1, %ymm0, %ymm0
128
129 // CHECK: vfmsubps   %ymm1, (%rcx), %ymm0, %ymm0
130 // CHECK: encoding: [0xc4,0xe3,0x7d,0x6c,0x01,0x10]
131           vfmsubps   %ymm1, (%rcx),%ymm0, %ymm0
132
133 // CHECK: vfmsubps   %ymm2, %ymm1, %ymm0, %ymm0
134 // CHECK: encoding: [0xc4,0xe3,0xfd,0x6c,0xc2,0x10]
135           vfmsubps   %ymm2, %ymm1, %ymm0, %ymm0
136
137 // CHECK: vfmsubpd  (%rcx), %ymm1, %ymm0, %ymm0
138 // CHECK: encoding: [0xc4,0xe3,0xfd,0x6d,0x01,0x10]
139           vfmsubpd  (%rcx), %ymm1, %ymm0, %ymm0
140
141 // CHECK: vfmsubpd   %ymm1, (%rcx), %ymm0, %ymm0
142 // CHECK: encoding: [0xc4,0xe3,0x7d,0x6d,0x01,0x10]
143           vfmsubpd   %ymm1, (%rcx),%ymm0, %ymm0
144
145 // CHECK: vfmsubpd   %ymm2, %ymm1, %ymm0, %ymm0
146 // CHECK: encoding: [0xc4,0xe3,0xfd,0x6d,0xc2,0x10]
147           vfmsubpd   %ymm2, %ymm1, %ymm0, %ymm0
148
149 // vfnmadd
150 // CHECK: vfnmaddss  (%rcx), %xmm1, %xmm0, %xmm0
151 // CHECK: encoding: [0xc4,0xe3,0xf9,0x7a,0x01,0x10]
152           vfnmaddss  (%rcx), %xmm1, %xmm0, %xmm0
153
154 // CHECK: vfnmaddss   %xmm1, (%rcx), %xmm0, %xmm0
155 // CHECK: encoding: [0xc4,0xe3,0x79,0x7a,0x01,0x10]
156           vfnmaddss   %xmm1, (%rcx),%xmm0, %xmm0
157
158 // CHECK: vfnmaddss   %xmm2, %xmm1, %xmm0, %xmm0
159 // CHECK: encoding: [0xc4,0xe3,0xf9,0x7a,0xc2,0x10]
160           vfnmaddss   %xmm2, %xmm1, %xmm0, %xmm0
161
162 // CHECK: vfnmaddsd  (%rcx), %xmm1, %xmm0, %xmm0
163 // CHECK: encoding: [0xc4,0xe3,0xf9,0x7b,0x01,0x10]
164           vfnmaddsd  (%rcx), %xmm1, %xmm0, %xmm0
165
166 // CHECK: vfnmaddsd   %xmm1, (%rcx), %xmm0, %xmm0
167 // CHECK: encoding: [0xc4,0xe3,0x79,0x7b,0x01,0x10]
168           vfnmaddsd   %xmm1, (%rcx),%xmm0, %xmm0
169
170 // CHECK: vfnmaddsd   %xmm2, %xmm1, %xmm0, %xmm0
171 // CHECK: encoding: [0xc4,0xe3,0xf9,0x7b,0xc2,0x10]
172           vfnmaddsd   %xmm2, %xmm1, %xmm0, %xmm0
173
174 // CHECK: vfnmaddps  (%rcx), %xmm1, %xmm0, %xmm0
175 // CHECK: encoding: [0xc4,0xe3,0xf9,0x78,0x01,0x10]
176           vfnmaddps  (%rcx), %xmm1, %xmm0, %xmm0
177
178 // CHECK: vfnmaddps   %xmm1, (%rcx), %xmm0, %xmm0
179 // CHECK: encoding: [0xc4,0xe3,0x79,0x78,0x01,0x10]
180           vfnmaddps   %xmm1, (%rcx),%xmm0, %xmm0
181
182 // CHECK: vfnmaddps   %xmm2, %xmm1, %xmm0, %xmm0
183 // CHECK: encoding: [0xc4,0xe3,0xf9,0x78,0xc2,0x10]
184           vfnmaddps   %xmm2, %xmm1, %xmm0, %xmm0
185
186 // CHECK: vfnmaddpd  (%rcx), %xmm1, %xmm0, %xmm0
187 // CHECK: encoding: [0xc4,0xe3,0xf9,0x79,0x01,0x10]
188           vfnmaddpd  (%rcx), %xmm1, %xmm0, %xmm0
189
190 // CHECK: vfnmaddpd   %xmm1, (%rcx), %xmm0, %xmm0
191 // CHECK: encoding: [0xc4,0xe3,0x79,0x79,0x01,0x10]
192           vfnmaddpd   %xmm1, (%rcx),%xmm0, %xmm0
193
194 // CHECK: vfnmaddpd   %xmm2, %xmm1, %xmm0, %xmm0
195 // CHECK: encoding: [0xc4,0xe3,0xf9,0x79,0xc2,0x10]
196           vfnmaddpd   %xmm2, %xmm1, %xmm0, %xmm0
197
198 // CHECK: vfnmaddps  (%rcx), %ymm1, %ymm0, %ymm0
199 // CHECK: encoding: [0xc4,0xe3,0xfd,0x78,0x01,0x10]
200           vfnmaddps  (%rcx), %ymm1, %ymm0, %ymm0
201
202 // CHECK: vfnmaddps   %ymm1, (%rcx), %ymm0, %ymm0
203 // CHECK: encoding: [0xc4,0xe3,0x7d,0x78,0x01,0x10]
204           vfnmaddps   %ymm1, (%rcx),%ymm0, %ymm0
205
206 // CHECK: vfnmaddps   %ymm2, %ymm1, %ymm0, %ymm0
207 // CHECK: encoding: [0xc4,0xe3,0xfd,0x78,0xc2,0x10]
208           vfnmaddps   %ymm2, %ymm1, %ymm0, %ymm0
209
210 // CHECK: vfnmaddpd  (%rcx), %ymm1, %ymm0, %ymm0
211 // CHECK: encoding: [0xc4,0xe3,0xfd,0x79,0x01,0x10]
212           vfnmaddpd  (%rcx), %ymm1, %ymm0, %ymm0
213
214 // CHECK: vfnmaddpd   %ymm1, (%rcx), %ymm0, %ymm0
215 // CHECK: encoding: [0xc4,0xe3,0x7d,0x79,0x01,0x10]
216           vfnmaddpd   %ymm1, (%rcx),%ymm0, %ymm0
217
218 // CHECK: vfnmaddpd   %ymm2, %ymm1, %ymm0, %ymm0
219 // CHECK: encoding: [0xc4,0xe3,0xfd,0x79,0xc2,0x10]
220           vfnmaddpd   %ymm2, %ymm1, %ymm0, %ymm0
221
222 // vfnmsub
223 // CHECK: vfnmsubss  (%rcx), %xmm1, %xmm0, %xmm0
224 // CHECK: encoding: [0xc4,0xe3,0xf9,0x7e,0x01,0x10]
225           vfnmsubss  (%rcx), %xmm1, %xmm0, %xmm0
226
227 // CHECK: vfnmsubss   %xmm1, (%rcx), %xmm0, %xmm0
228 // CHECK: encoding: [0xc4,0xe3,0x79,0x7e,0x01,0x10]
229           vfnmsubss   %xmm1, (%rcx),%xmm0, %xmm0
230
231 // CHECK: vfnmsubss   %xmm2, %xmm1, %xmm0, %xmm0
232 // CHECK: encoding: [0xc4,0xe3,0xf9,0x7e,0xc2,0x10]
233           vfnmsubss   %xmm2, %xmm1, %xmm0, %xmm0
234
235 // CHECK: vfnmsubsd  (%rcx), %xmm1, %xmm0, %xmm0
236 // CHECK: encoding: [0xc4,0xe3,0xf9,0x7f,0x01,0x10]
237           vfnmsubsd  (%rcx), %xmm1, %xmm0, %xmm0
238
239 // CHECK: vfnmsubsd   %xmm1, (%rcx), %xmm0, %xmm0
240 // CHECK: encoding: [0xc4,0xe3,0x79,0x7f,0x01,0x10]
241           vfnmsubsd   %xmm1, (%rcx),%xmm0, %xmm0
242
243 // CHECK: vfnmsubsd   %xmm2, %xmm1, %xmm0, %xmm0
244 // CHECK: encoding: [0xc4,0xe3,0xf9,0x7f,0xc2,0x10]
245           vfnmsubsd   %xmm2, %xmm1, %xmm0, %xmm0
246
247 // CHECK: vfnmsubps  (%rcx), %xmm1, %xmm0, %xmm0
248 // CHECK: encoding: [0xc4,0xe3,0xf9,0x7c,0x01,0x10]
249           vfnmsubps  (%rcx), %xmm1, %xmm0, %xmm0
250
251 // CHECK: vfnmsubps   %xmm1, (%rcx), %xmm0, %xmm0
252 // CHECK: encoding: [0xc4,0xe3,0x79,0x7c,0x01,0x10]
253           vfnmsubps   %xmm1, (%rcx),%xmm0, %xmm0
254
255 // CHECK: vfnmsubps   %xmm2, %xmm1, %xmm0, %xmm0
256 // CHECK: encoding: [0xc4,0xe3,0xf9,0x7c,0xc2,0x10]
257           vfnmsubps   %xmm2, %xmm1, %xmm0, %xmm0
258
259 // CHECK: vfnmsubpd  (%rcx), %xmm1, %xmm0, %xmm0
260 // CHECK: encoding: [0xc4,0xe3,0xf9,0x7d,0x01,0x10]
261           vfnmsubpd  (%rcx), %xmm1, %xmm0, %xmm0
262
263 // CHECK: vfnmsubpd   %xmm1, (%rcx), %xmm0, %xmm0
264 // CHECK: encoding: [0xc4,0xe3,0x79,0x7d,0x01,0x10]
265           vfnmsubpd   %xmm1, (%rcx),%xmm0, %xmm0
266
267 // CHECK: vfnmsubpd   %xmm2, %xmm1, %xmm0, %xmm0
268 // CHECK: encoding: [0xc4,0xe3,0xf9,0x7d,0xc2,0x10]
269           vfnmsubpd   %xmm2, %xmm1, %xmm0, %xmm0
270
271 // CHECK: vfnmsubps  (%rcx), %ymm1, %ymm0, %ymm0
272 // CHECK: encoding: [0xc4,0xe3,0xfd,0x7c,0x01,0x10]
273           vfnmsubps  (%rcx), %ymm1, %ymm0, %ymm0
274
275 // CHECK: vfnmsubps   %ymm1, (%rcx), %ymm0, %ymm0
276 // CHECK: encoding: [0xc4,0xe3,0x7d,0x7c,0x01,0x10]
277           vfnmsubps   %ymm1, (%rcx),%ymm0, %ymm0
278
279 // CHECK: vfnmsubps   %ymm2, %ymm1, %ymm0, %ymm0
280 // CHECK: encoding: [0xc4,0xe3,0xfd,0x7c,0xc2,0x10]
281           vfnmsubps   %ymm2, %ymm1, %ymm0, %ymm0
282
283 // CHECK: vfnmsubpd  (%rcx), %ymm1, %ymm0, %ymm0
284 // CHECK: encoding: [0xc4,0xe3,0xfd,0x7d,0x01,0x10]
285           vfnmsubpd  (%rcx), %ymm1, %ymm0, %ymm0
286
287 // CHECK: vfnmsubpd   %ymm1, (%rcx), %ymm0, %ymm0
288 // CHECK: encoding: [0xc4,0xe3,0x7d,0x7d,0x01,0x10]
289           vfnmsubpd   %ymm1, (%rcx),%ymm0, %ymm0
290
291 // CHECK: vfnmsubpd   %ymm2, %ymm1, %ymm0, %ymm0
292 // CHECK: encoding: [0xc4,0xe3,0xfd,0x7d,0xc2,0x10]
293           vfnmsubpd   %ymm2, %ymm1, %ymm0, %ymm0
294
295 // vfmaddsub
296 // CHECK: vfmaddsubps  (%rcx), %xmm1, %xmm0, %xmm0
297 // CHECK: encoding: [0xc4,0xe3,0xf9,0x5c,0x01,0x10]
298           vfmaddsubps  (%rcx), %xmm1, %xmm0, %xmm0
299
300 // CHECK: vfmaddsubps   %xmm1, (%rcx), %xmm0, %xmm0
301 // CHECK: encoding: [0xc4,0xe3,0x79,0x5c,0x01,0x10]
302           vfmaddsubps   %xmm1, (%rcx),%xmm0, %xmm0
303
304 // CHECK: vfmaddsubps   %xmm2, %xmm1, %xmm0, %xmm0
305 // CHECK: encoding: [0xc4,0xe3,0xf9,0x5c,0xc2,0x10]
306           vfmaddsubps   %xmm2, %xmm1, %xmm0, %xmm0
307
308 // CHECK: vfmaddsubpd  (%rcx), %xmm1, %xmm0, %xmm0
309 // CHECK: encoding: [0xc4,0xe3,0xf9,0x5d,0x01,0x10]
310           vfmaddsubpd  (%rcx), %xmm1, %xmm0, %xmm0
311
312 // CHECK: vfmaddsubpd   %xmm1, (%rcx), %xmm0, %xmm0
313 // CHECK: encoding: [0xc4,0xe3,0x79,0x5d,0x01,0x10]
314           vfmaddsubpd   %xmm1, (%rcx),%xmm0, %xmm0
315
316 // CHECK: vfmaddsubpd   %xmm2, %xmm1, %xmm0, %xmm0
317 // CHECK: encoding: [0xc4,0xe3,0xf9,0x5d,0xc2,0x10]
318           vfmaddsubpd   %xmm2, %xmm1, %xmm0, %xmm0
319
320 // CHECK: vfmaddsubps  (%rcx), %ymm1, %ymm0, %ymm0
321 // CHECK: encoding: [0xc4,0xe3,0xfd,0x5c,0x01,0x10]
322           vfmaddsubps  (%rcx), %ymm1, %ymm0, %ymm0
323
324 // CHECK: vfmaddsubps   %ymm1, (%rcx), %ymm0, %ymm0
325 // CHECK: encoding: [0xc4,0xe3,0x7d,0x5c,0x01,0x10]
326           vfmaddsubps   %ymm1, (%rcx),%ymm0, %ymm0
327
328 // CHECK: vfmaddsubps   %ymm2, %ymm1, %ymm0, %ymm0
329 // CHECK: encoding: [0xc4,0xe3,0xfd,0x5c,0xc2,0x10]
330           vfmaddsubps   %ymm2, %ymm1, %ymm0, %ymm0
331
332 // CHECK: vfmaddsubpd  (%rcx), %ymm1, %ymm0, %ymm0
333 // CHECK: encoding: [0xc4,0xe3,0xfd,0x5d,0x01,0x10]
334           vfmaddsubpd  (%rcx), %ymm1, %ymm0, %ymm0
335
336 // CHECK: vfmaddsubpd   %ymm1, (%rcx), %ymm0, %ymm0
337 // CHECK: encoding: [0xc4,0xe3,0x7d,0x5d,0x01,0x10]
338           vfmaddsubpd   %ymm1, (%rcx),%ymm0, %ymm0
339
340 // CHECK: vfmaddsubpd   %ymm2, %ymm1, %ymm0, %ymm0
341 // CHECK: encoding: [0xc4,0xe3,0xfd,0x5d,0xc2,0x10]
342           vfmaddsubpd   %ymm2, %ymm1, %ymm0, %ymm0
343
344 // vfmsubadd
345 // CHECK: vfmsubaddps  (%rcx), %xmm1, %xmm0, %xmm0
346 // CHECK: encoding: [0xc4,0xe3,0xf9,0x5e,0x01,0x10]
347           vfmsubaddps  (%rcx), %xmm1, %xmm0, %xmm0
348
349 // CHECK: vfmsubaddps   %xmm1, (%rcx), %xmm0, %xmm0
350 // CHECK: encoding: [0xc4,0xe3,0x79,0x5e,0x01,0x10]
351           vfmsubaddps   %xmm1, (%rcx),%xmm0, %xmm0
352
353 // CHECK: vfmsubaddps   %xmm2, %xmm1, %xmm0, %xmm0
354 // CHECK: encoding: [0xc4,0xe3,0xf9,0x5e,0xc2,0x10]
355           vfmsubaddps   %xmm2, %xmm1, %xmm0, %xmm0
356
357 // CHECK: vfmsubaddpd  (%rcx), %xmm1, %xmm0, %xmm0
358 // CHECK: encoding: [0xc4,0xe3,0xf9,0x5f,0x01,0x10]
359           vfmsubaddpd  (%rcx), %xmm1, %xmm0, %xmm0
360
361 // CHECK: vfmsubaddpd   %xmm1, (%rcx), %xmm0, %xmm0
362 // CHECK: encoding: [0xc4,0xe3,0x79,0x5f,0x01,0x10]
363           vfmsubaddpd   %xmm1, (%rcx),%xmm0, %xmm0
364
365 // CHECK: vfmsubaddpd   %xmm2, %xmm1, %xmm0, %xmm0
366 // CHECK: encoding: [0xc4,0xe3,0xf9,0x5f,0xc2,0x10]
367           vfmsubaddpd   %xmm2, %xmm1, %xmm0, %xmm0
368
369 // CHECK: vfmsubaddps  (%rcx), %ymm1, %ymm0, %ymm0
370 // CHECK: encoding: [0xc4,0xe3,0xfd,0x5e,0x01,0x10]
371           vfmsubaddps  (%rcx), %ymm1, %ymm0, %ymm0
372
373 // CHECK: vfmsubaddps   %ymm1, (%rcx), %ymm0, %ymm0
374 // CHECK: encoding: [0xc4,0xe3,0x7d,0x5e,0x01,0x10]
375           vfmsubaddps   %ymm1, (%rcx),%ymm0, %ymm0
376
377 // CHECK: vfmsubaddps   %ymm2, %ymm1, %ymm0, %ymm0
378 // CHECK: encoding: [0xc4,0xe3,0xfd,0x5e,0xc2,0x10]
379           vfmsubaddps   %ymm2, %ymm1, %ymm0, %ymm0
380
381 // CHECK: vfmsubaddpd  (%rcx), %ymm1, %ymm0, %ymm0
382 // CHECK: encoding: [0xc4,0xe3,0xfd,0x5f,0x01,0x10]
383           vfmsubaddpd  (%rcx), %ymm1, %ymm0, %ymm0
384
385 // CHECK: vfmsubaddpd   %ymm1, (%rcx), %ymm0, %ymm0
386 // CHECK: encoding: [0xc4,0xe3,0x7d,0x5f,0x01,0x10]
387           vfmsubaddpd   %ymm1, (%rcx),%ymm0, %ymm0
388
389 // CHECK: vfmsubaddpd   %ymm2, %ymm1, %ymm0, %ymm0
390 // CHECK: encoding: [0xc4,0xe3,0xfd,0x5f,0xc2,0x10]
391           vfmsubaddpd   %ymm2, %ymm1, %ymm0, %ymm0