x86_64-fma4-encoding.s revision 341c5fbe840cffedc4155a2cf130626d2bba11b5
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// PR15040
77// CHECK: vfmaddss  foo(%rip), %xmm1, %xmm0, %xmm0
78// CHECK: encoding: [0xc4,0xe3,0xf9,0x6a,0x05,A,A,A,A,0x10]
79// CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
80          vfmaddss  foo(%rip), %xmm1, %xmm0, %xmm0
81
82// CHECK: vfmaddss   %xmm1, foo(%rip), %xmm0, %xmm0
83// CHECK: encoding: [0xc4,0xe3,0x79,0x6a,0x05,A,A,A,A,0x10]
84// CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
85          vfmaddss   %xmm1, foo(%rip),%xmm0, %xmm0
86
87// CHECK: vfmaddsd  foo(%rip), %xmm1, %xmm0, %xmm0
88// CHECK: encoding: [0xc4,0xe3,0xf9,0x6b,0x05,A,A,A,A,0x10]
89// CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
90          vfmaddsd  foo(%rip), %xmm1, %xmm0, %xmm0
91
92// CHECK: vfmaddsd   %xmm1, foo(%rip), %xmm0, %xmm0
93// CHECK: encoding: [0xc4,0xe3,0x79,0x6b,0x05,A,A,A,A,0x10]
94// CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
95          vfmaddsd   %xmm1, foo(%rip),%xmm0, %xmm0
96
97// CHECK: vfmaddps  foo(%rip), %xmm1, %xmm0, %xmm0
98// CHECK: encoding: [0xc4,0xe3,0xf9,0x68,0x05,A,A,A,A,0x10]
99// CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
100          vfmaddps  foo(%rip), %xmm1, %xmm0, %xmm0
101
102// CHECK: vfmaddps   %xmm1, foo(%rip), %xmm0, %xmm0
103// CHECK: encoding: [0xc4,0xe3,0x79,0x68,0x05,A,A,A,A,0x10]
104// CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
105          vfmaddps   %xmm1, foo(%rip),%xmm0, %xmm0
106
107// CHECK: vfmaddpd  foo(%rip), %xmm1, %xmm0, %xmm0
108// CHECK: encoding: [0xc4,0xe3,0xf9,0x69,0x05,A,A,A,A,0x10]
109// CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
110          vfmaddpd  foo(%rip), %xmm1, %xmm0, %xmm0
111
112// CHECK: vfmaddpd   %xmm1, foo(%rip), %xmm0, %xmm0
113// CHECK: encoding: [0xc4,0xe3,0x79,0x69,0x05,A,A,A,A,0x10]
114// CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
115          vfmaddpd   %xmm1, foo(%rip),%xmm0, %xmm0
116
117// CHECK: vfmaddps  foo(%rip), %ymm1, %ymm0, %ymm0
118// CHECK: encoding: [0xc4,0xe3,0xfd,0x68,0x05,A,A,A,A,0x10]
119// CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
120          vfmaddps  foo(%rip), %ymm1, %ymm0, %ymm0
121
122// CHECK: vfmaddps   %ymm1, foo(%rip), %ymm0, %ymm0
123// CHECK: encoding: [0xc4,0xe3,0x7d,0x68,0x05,A,A,A,A,0x10]
124// CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
125          vfmaddps   %ymm1, foo(%rip),%ymm0, %ymm0
126
127// CHECK: vfmaddpd  foo(%rip), %ymm1, %ymm0, %ymm0
128// CHECK: encoding: [0xc4,0xe3,0xfd,0x69,0x05,A,A,A,A,0x10]
129// CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
130          vfmaddpd  foo(%rip), %ymm1, %ymm0, %ymm0
131
132// CHECK: vfmaddpd   %ymm1, foo(%rip), %ymm0, %ymm0
133// CHECK: encoding: [0xc4,0xe3,0x7d,0x69,0x05,A,A,A,A,0x10]
134// CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
135          vfmaddpd   %ymm1, foo(%rip),%ymm0, %ymm0
136
137// vfmsub
138// CHECK: vfmsubss  (%rcx), %xmm1, %xmm0, %xmm0
139// CHECK: encoding: [0xc4,0xe3,0xf9,0x6e,0x01,0x10]
140          vfmsubss  (%rcx), %xmm1, %xmm0, %xmm0
141
142// CHECK: vfmsubss   %xmm1, (%rcx), %xmm0, %xmm0
143// CHECK: encoding: [0xc4,0xe3,0x79,0x6e,0x01,0x10]
144          vfmsubss   %xmm1, (%rcx),%xmm0, %xmm0
145
146// CHECK: vfmsubss   %xmm2, %xmm1, %xmm0, %xmm0
147// CHECK: encoding: [0xc4,0xe3,0xf9,0x6e,0xc2,0x10]
148          vfmsubss   %xmm2, %xmm1, %xmm0, %xmm0
149
150// CHECK: vfmsubsd  (%rcx), %xmm1, %xmm0, %xmm0
151// CHECK: encoding: [0xc4,0xe3,0xf9,0x6f,0x01,0x10]
152          vfmsubsd  (%rcx), %xmm1, %xmm0, %xmm0
153
154// CHECK: vfmsubsd   %xmm1, (%rcx), %xmm0, %xmm0
155// CHECK: encoding: [0xc4,0xe3,0x79,0x6f,0x01,0x10]
156          vfmsubsd   %xmm1, (%rcx),%xmm0, %xmm0
157
158// CHECK: vfmsubsd   %xmm2, %xmm1, %xmm0, %xmm0
159// CHECK: encoding: [0xc4,0xe3,0xf9,0x6f,0xc2,0x10]
160          vfmsubsd   %xmm2, %xmm1, %xmm0, %xmm0
161
162// CHECK: vfmsubps  (%rcx), %xmm1, %xmm0, %xmm0
163// CHECK: encoding: [0xc4,0xe3,0xf9,0x6c,0x01,0x10]
164          vfmsubps  (%rcx), %xmm1, %xmm0, %xmm0
165
166// CHECK: vfmsubps   %xmm1, (%rcx), %xmm0, %xmm0
167// CHECK: encoding: [0xc4,0xe3,0x79,0x6c,0x01,0x10]
168          vfmsubps   %xmm1, (%rcx),%xmm0, %xmm0
169
170// CHECK: vfmsubps   %xmm2, %xmm1, %xmm0, %xmm0
171// CHECK: encoding: [0xc4,0xe3,0xf9,0x6c,0xc2,0x10]
172          vfmsubps   %xmm2, %xmm1, %xmm0, %xmm0
173
174// CHECK: vfmsubpd  (%rcx), %xmm1, %xmm0, %xmm0
175// CHECK: encoding: [0xc4,0xe3,0xf9,0x6d,0x01,0x10]
176          vfmsubpd  (%rcx), %xmm1, %xmm0, %xmm0
177
178// CHECK: vfmsubpd   %xmm1, (%rcx), %xmm0, %xmm0
179// CHECK: encoding: [0xc4,0xe3,0x79,0x6d,0x01,0x10]
180          vfmsubpd   %xmm1, (%rcx),%xmm0, %xmm0
181
182// CHECK: vfmsubpd   %xmm2, %xmm1, %xmm0, %xmm0
183// CHECK: encoding: [0xc4,0xe3,0xf9,0x6d,0xc2,0x10]
184          vfmsubpd   %xmm2, %xmm1, %xmm0, %xmm0
185
186// CHECK: vfmsubps  (%rcx), %ymm1, %ymm0, %ymm0
187// CHECK: encoding: [0xc4,0xe3,0xfd,0x6c,0x01,0x10]
188          vfmsubps  (%rcx), %ymm1, %ymm0, %ymm0
189
190// CHECK: vfmsubps   %ymm1, (%rcx), %ymm0, %ymm0
191// CHECK: encoding: [0xc4,0xe3,0x7d,0x6c,0x01,0x10]
192          vfmsubps   %ymm1, (%rcx),%ymm0, %ymm0
193
194// CHECK: vfmsubps   %ymm2, %ymm1, %ymm0, %ymm0
195// CHECK: encoding: [0xc4,0xe3,0xfd,0x6c,0xc2,0x10]
196          vfmsubps   %ymm2, %ymm1, %ymm0, %ymm0
197
198// CHECK: vfmsubpd  (%rcx), %ymm1, %ymm0, %ymm0
199// CHECK: encoding: [0xc4,0xe3,0xfd,0x6d,0x01,0x10]
200          vfmsubpd  (%rcx), %ymm1, %ymm0, %ymm0
201
202// CHECK: vfmsubpd   %ymm1, (%rcx), %ymm0, %ymm0
203// CHECK: encoding: [0xc4,0xe3,0x7d,0x6d,0x01,0x10]
204          vfmsubpd   %ymm1, (%rcx),%ymm0, %ymm0
205
206// CHECK: vfmsubpd   %ymm2, %ymm1, %ymm0, %ymm0
207// CHECK: encoding: [0xc4,0xe3,0xfd,0x6d,0xc2,0x10]
208          vfmsubpd   %ymm2, %ymm1, %ymm0, %ymm0
209
210// vfnmadd
211// CHECK: vfnmaddss  (%rcx), %xmm1, %xmm0, %xmm0
212// CHECK: encoding: [0xc4,0xe3,0xf9,0x7a,0x01,0x10]
213          vfnmaddss  (%rcx), %xmm1, %xmm0, %xmm0
214
215// CHECK: vfnmaddss   %xmm1, (%rcx), %xmm0, %xmm0
216// CHECK: encoding: [0xc4,0xe3,0x79,0x7a,0x01,0x10]
217          vfnmaddss   %xmm1, (%rcx),%xmm0, %xmm0
218
219// CHECK: vfnmaddss   %xmm2, %xmm1, %xmm0, %xmm0
220// CHECK: encoding: [0xc4,0xe3,0xf9,0x7a,0xc2,0x10]
221          vfnmaddss   %xmm2, %xmm1, %xmm0, %xmm0
222
223// CHECK: vfnmaddsd  (%rcx), %xmm1, %xmm0, %xmm0
224// CHECK: encoding: [0xc4,0xe3,0xf9,0x7b,0x01,0x10]
225          vfnmaddsd  (%rcx), %xmm1, %xmm0, %xmm0
226
227// CHECK: vfnmaddsd   %xmm1, (%rcx), %xmm0, %xmm0
228// CHECK: encoding: [0xc4,0xe3,0x79,0x7b,0x01,0x10]
229          vfnmaddsd   %xmm1, (%rcx),%xmm0, %xmm0
230
231// CHECK: vfnmaddsd   %xmm2, %xmm1, %xmm0, %xmm0
232// CHECK: encoding: [0xc4,0xe3,0xf9,0x7b,0xc2,0x10]
233          vfnmaddsd   %xmm2, %xmm1, %xmm0, %xmm0
234
235// CHECK: vfnmaddps  (%rcx), %xmm1, %xmm0, %xmm0
236// CHECK: encoding: [0xc4,0xe3,0xf9,0x78,0x01,0x10]
237          vfnmaddps  (%rcx), %xmm1, %xmm0, %xmm0
238
239// CHECK: vfnmaddps   %xmm1, (%rcx), %xmm0, %xmm0
240// CHECK: encoding: [0xc4,0xe3,0x79,0x78,0x01,0x10]
241          vfnmaddps   %xmm1, (%rcx),%xmm0, %xmm0
242
243// CHECK: vfnmaddps   %xmm2, %xmm1, %xmm0, %xmm0
244// CHECK: encoding: [0xc4,0xe3,0xf9,0x78,0xc2,0x10]
245          vfnmaddps   %xmm2, %xmm1, %xmm0, %xmm0
246
247// CHECK: vfnmaddpd  (%rcx), %xmm1, %xmm0, %xmm0
248// CHECK: encoding: [0xc4,0xe3,0xf9,0x79,0x01,0x10]
249          vfnmaddpd  (%rcx), %xmm1, %xmm0, %xmm0
250
251// CHECK: vfnmaddpd   %xmm1, (%rcx), %xmm0, %xmm0
252// CHECK: encoding: [0xc4,0xe3,0x79,0x79,0x01,0x10]
253          vfnmaddpd   %xmm1, (%rcx),%xmm0, %xmm0
254
255// CHECK: vfnmaddpd   %xmm2, %xmm1, %xmm0, %xmm0
256// CHECK: encoding: [0xc4,0xe3,0xf9,0x79,0xc2,0x10]
257          vfnmaddpd   %xmm2, %xmm1, %xmm0, %xmm0
258
259// CHECK: vfnmaddps  (%rcx), %ymm1, %ymm0, %ymm0
260// CHECK: encoding: [0xc4,0xe3,0xfd,0x78,0x01,0x10]
261          vfnmaddps  (%rcx), %ymm1, %ymm0, %ymm0
262
263// CHECK: vfnmaddps   %ymm1, (%rcx), %ymm0, %ymm0
264// CHECK: encoding: [0xc4,0xe3,0x7d,0x78,0x01,0x10]
265          vfnmaddps   %ymm1, (%rcx),%ymm0, %ymm0
266
267// CHECK: vfnmaddps   %ymm2, %ymm1, %ymm0, %ymm0
268// CHECK: encoding: [0xc4,0xe3,0xfd,0x78,0xc2,0x10]
269          vfnmaddps   %ymm2, %ymm1, %ymm0, %ymm0
270
271// CHECK: vfnmaddpd  (%rcx), %ymm1, %ymm0, %ymm0
272// CHECK: encoding: [0xc4,0xe3,0xfd,0x79,0x01,0x10]
273          vfnmaddpd  (%rcx), %ymm1, %ymm0, %ymm0
274
275// CHECK: vfnmaddpd   %ymm1, (%rcx), %ymm0, %ymm0
276// CHECK: encoding: [0xc4,0xe3,0x7d,0x79,0x01,0x10]
277          vfnmaddpd   %ymm1, (%rcx),%ymm0, %ymm0
278
279// CHECK: vfnmaddpd   %ymm2, %ymm1, %ymm0, %ymm0
280// CHECK: encoding: [0xc4,0xe3,0xfd,0x79,0xc2,0x10]
281          vfnmaddpd   %ymm2, %ymm1, %ymm0, %ymm0
282
283// vfnmsub
284// CHECK: vfnmsubss  (%rcx), %xmm1, %xmm0, %xmm0
285// CHECK: encoding: [0xc4,0xe3,0xf9,0x7e,0x01,0x10]
286          vfnmsubss  (%rcx), %xmm1, %xmm0, %xmm0
287
288// CHECK: vfnmsubss   %xmm1, (%rcx), %xmm0, %xmm0
289// CHECK: encoding: [0xc4,0xe3,0x79,0x7e,0x01,0x10]
290          vfnmsubss   %xmm1, (%rcx),%xmm0, %xmm0
291
292// CHECK: vfnmsubss   %xmm2, %xmm1, %xmm0, %xmm0
293// CHECK: encoding: [0xc4,0xe3,0xf9,0x7e,0xc2,0x10]
294          vfnmsubss   %xmm2, %xmm1, %xmm0, %xmm0
295
296// CHECK: vfnmsubsd  (%rcx), %xmm1, %xmm0, %xmm0
297// CHECK: encoding: [0xc4,0xe3,0xf9,0x7f,0x01,0x10]
298          vfnmsubsd  (%rcx), %xmm1, %xmm0, %xmm0
299
300// CHECK: vfnmsubsd   %xmm1, (%rcx), %xmm0, %xmm0
301// CHECK: encoding: [0xc4,0xe3,0x79,0x7f,0x01,0x10]
302          vfnmsubsd   %xmm1, (%rcx),%xmm0, %xmm0
303
304// CHECK: vfnmsubsd   %xmm2, %xmm1, %xmm0, %xmm0
305// CHECK: encoding: [0xc4,0xe3,0xf9,0x7f,0xc2,0x10]
306          vfnmsubsd   %xmm2, %xmm1, %xmm0, %xmm0
307
308// CHECK: vfnmsubps  (%rcx), %xmm1, %xmm0, %xmm0
309// CHECK: encoding: [0xc4,0xe3,0xf9,0x7c,0x01,0x10]
310          vfnmsubps  (%rcx), %xmm1, %xmm0, %xmm0
311
312// CHECK: vfnmsubps   %xmm1, (%rcx), %xmm0, %xmm0
313// CHECK: encoding: [0xc4,0xe3,0x79,0x7c,0x01,0x10]
314          vfnmsubps   %xmm1, (%rcx),%xmm0, %xmm0
315
316// CHECK: vfnmsubps   %xmm2, %xmm1, %xmm0, %xmm0
317// CHECK: encoding: [0xc4,0xe3,0xf9,0x7c,0xc2,0x10]
318          vfnmsubps   %xmm2, %xmm1, %xmm0, %xmm0
319
320// CHECK: vfnmsubpd  (%rcx), %xmm1, %xmm0, %xmm0
321// CHECK: encoding: [0xc4,0xe3,0xf9,0x7d,0x01,0x10]
322          vfnmsubpd  (%rcx), %xmm1, %xmm0, %xmm0
323
324// CHECK: vfnmsubpd   %xmm1, (%rcx), %xmm0, %xmm0
325// CHECK: encoding: [0xc4,0xe3,0x79,0x7d,0x01,0x10]
326          vfnmsubpd   %xmm1, (%rcx),%xmm0, %xmm0
327
328// CHECK: vfnmsubpd   %xmm2, %xmm1, %xmm0, %xmm0
329// CHECK: encoding: [0xc4,0xe3,0xf9,0x7d,0xc2,0x10]
330          vfnmsubpd   %xmm2, %xmm1, %xmm0, %xmm0
331
332// CHECK: vfnmsubps  (%rcx), %ymm1, %ymm0, %ymm0
333// CHECK: encoding: [0xc4,0xe3,0xfd,0x7c,0x01,0x10]
334          vfnmsubps  (%rcx), %ymm1, %ymm0, %ymm0
335
336// CHECK: vfnmsubps   %ymm1, (%rcx), %ymm0, %ymm0
337// CHECK: encoding: [0xc4,0xe3,0x7d,0x7c,0x01,0x10]
338          vfnmsubps   %ymm1, (%rcx),%ymm0, %ymm0
339
340// CHECK: vfnmsubps   %ymm2, %ymm1, %ymm0, %ymm0
341// CHECK: encoding: [0xc4,0xe3,0xfd,0x7c,0xc2,0x10]
342          vfnmsubps   %ymm2, %ymm1, %ymm0, %ymm0
343
344// CHECK: vfnmsubpd  (%rcx), %ymm1, %ymm0, %ymm0
345// CHECK: encoding: [0xc4,0xe3,0xfd,0x7d,0x01,0x10]
346          vfnmsubpd  (%rcx), %ymm1, %ymm0, %ymm0
347
348// CHECK: vfnmsubpd   %ymm1, (%rcx), %ymm0, %ymm0
349// CHECK: encoding: [0xc4,0xe3,0x7d,0x7d,0x01,0x10]
350          vfnmsubpd   %ymm1, (%rcx),%ymm0, %ymm0
351
352// CHECK: vfnmsubpd   %ymm2, %ymm1, %ymm0, %ymm0
353// CHECK: encoding: [0xc4,0xe3,0xfd,0x7d,0xc2,0x10]
354          vfnmsubpd   %ymm2, %ymm1, %ymm0, %ymm0
355
356// vfmaddsub
357// CHECK: vfmaddsubps  (%rcx), %xmm1, %xmm0, %xmm0
358// CHECK: encoding: [0xc4,0xe3,0xf9,0x5c,0x01,0x10]
359          vfmaddsubps  (%rcx), %xmm1, %xmm0, %xmm0
360
361// CHECK: vfmaddsubps   %xmm1, (%rcx), %xmm0, %xmm0
362// CHECK: encoding: [0xc4,0xe3,0x79,0x5c,0x01,0x10]
363          vfmaddsubps   %xmm1, (%rcx),%xmm0, %xmm0
364
365// CHECK: vfmaddsubps   %xmm2, %xmm1, %xmm0, %xmm0
366// CHECK: encoding: [0xc4,0xe3,0xf9,0x5c,0xc2,0x10]
367          vfmaddsubps   %xmm2, %xmm1, %xmm0, %xmm0
368
369// CHECK: vfmaddsubpd  (%rcx), %xmm1, %xmm0, %xmm0
370// CHECK: encoding: [0xc4,0xe3,0xf9,0x5d,0x01,0x10]
371          vfmaddsubpd  (%rcx), %xmm1, %xmm0, %xmm0
372
373// CHECK: vfmaddsubpd   %xmm1, (%rcx), %xmm0, %xmm0
374// CHECK: encoding: [0xc4,0xe3,0x79,0x5d,0x01,0x10]
375          vfmaddsubpd   %xmm1, (%rcx),%xmm0, %xmm0
376
377// CHECK: vfmaddsubpd   %xmm2, %xmm1, %xmm0, %xmm0
378// CHECK: encoding: [0xc4,0xe3,0xf9,0x5d,0xc2,0x10]
379          vfmaddsubpd   %xmm2, %xmm1, %xmm0, %xmm0
380
381// CHECK: vfmaddsubps  (%rcx), %ymm1, %ymm0, %ymm0
382// CHECK: encoding: [0xc4,0xe3,0xfd,0x5c,0x01,0x10]
383          vfmaddsubps  (%rcx), %ymm1, %ymm0, %ymm0
384
385// CHECK: vfmaddsubps   %ymm1, (%rcx), %ymm0, %ymm0
386// CHECK: encoding: [0xc4,0xe3,0x7d,0x5c,0x01,0x10]
387          vfmaddsubps   %ymm1, (%rcx),%ymm0, %ymm0
388
389// CHECK: vfmaddsubps   %ymm2, %ymm1, %ymm0, %ymm0
390// CHECK: encoding: [0xc4,0xe3,0xfd,0x5c,0xc2,0x10]
391          vfmaddsubps   %ymm2, %ymm1, %ymm0, %ymm0
392
393// CHECK: vfmaddsubpd  (%rcx), %ymm1, %ymm0, %ymm0
394// CHECK: encoding: [0xc4,0xe3,0xfd,0x5d,0x01,0x10]
395          vfmaddsubpd  (%rcx), %ymm1, %ymm0, %ymm0
396
397// CHECK: vfmaddsubpd   %ymm1, (%rcx), %ymm0, %ymm0
398// CHECK: encoding: [0xc4,0xe3,0x7d,0x5d,0x01,0x10]
399          vfmaddsubpd   %ymm1, (%rcx),%ymm0, %ymm0
400
401// CHECK: vfmaddsubpd   %ymm2, %ymm1, %ymm0, %ymm0
402// CHECK: encoding: [0xc4,0xe3,0xfd,0x5d,0xc2,0x10]
403          vfmaddsubpd   %ymm2, %ymm1, %ymm0, %ymm0
404
405// vfmsubadd
406// CHECK: vfmsubaddps  (%rcx), %xmm1, %xmm0, %xmm0
407// CHECK: encoding: [0xc4,0xe3,0xf9,0x5e,0x01,0x10]
408          vfmsubaddps  (%rcx), %xmm1, %xmm0, %xmm0
409
410// CHECK: vfmsubaddps   %xmm1, (%rcx), %xmm0, %xmm0
411// CHECK: encoding: [0xc4,0xe3,0x79,0x5e,0x01,0x10]
412          vfmsubaddps   %xmm1, (%rcx),%xmm0, %xmm0
413
414// CHECK: vfmsubaddps   %xmm2, %xmm1, %xmm0, %xmm0
415// CHECK: encoding: [0xc4,0xe3,0xf9,0x5e,0xc2,0x10]
416          vfmsubaddps   %xmm2, %xmm1, %xmm0, %xmm0
417
418// CHECK: vfmsubaddpd  (%rcx), %xmm1, %xmm0, %xmm0
419// CHECK: encoding: [0xc4,0xe3,0xf9,0x5f,0x01,0x10]
420          vfmsubaddpd  (%rcx), %xmm1, %xmm0, %xmm0
421
422// CHECK: vfmsubaddpd   %xmm1, (%rcx), %xmm0, %xmm0
423// CHECK: encoding: [0xc4,0xe3,0x79,0x5f,0x01,0x10]
424          vfmsubaddpd   %xmm1, (%rcx),%xmm0, %xmm0
425
426// CHECK: vfmsubaddpd   %xmm2, %xmm1, %xmm0, %xmm0
427// CHECK: encoding: [0xc4,0xe3,0xf9,0x5f,0xc2,0x10]
428          vfmsubaddpd   %xmm2, %xmm1, %xmm0, %xmm0
429
430// CHECK: vfmsubaddps  (%rcx), %ymm1, %ymm0, %ymm0
431// CHECK: encoding: [0xc4,0xe3,0xfd,0x5e,0x01,0x10]
432          vfmsubaddps  (%rcx), %ymm1, %ymm0, %ymm0
433
434// CHECK: vfmsubaddps   %ymm1, (%rcx), %ymm0, %ymm0
435// CHECK: encoding: [0xc4,0xe3,0x7d,0x5e,0x01,0x10]
436          vfmsubaddps   %ymm1, (%rcx),%ymm0, %ymm0
437
438// CHECK: vfmsubaddps   %ymm2, %ymm1, %ymm0, %ymm0
439// CHECK: encoding: [0xc4,0xe3,0xfd,0x5e,0xc2,0x10]
440          vfmsubaddps   %ymm2, %ymm1, %ymm0, %ymm0
441
442// CHECK: vfmsubaddpd  (%rcx), %ymm1, %ymm0, %ymm0
443// CHECK: encoding: [0xc4,0xe3,0xfd,0x5f,0x01,0x10]
444          vfmsubaddpd  (%rcx), %ymm1, %ymm0, %ymm0
445
446// CHECK: vfmsubaddpd   %ymm1, (%rcx), %ymm0, %ymm0
447// CHECK: encoding: [0xc4,0xe3,0x7d,0x5f,0x01,0x10]
448          vfmsubaddpd   %ymm1, (%rcx),%ymm0, %ymm0
449
450// CHECK: vfmsubaddpd   %ymm2, %ymm1, %ymm0, %ymm0
451// CHECK: encoding: [0xc4,0xe3,0xfd,0x5f,0xc2,0x10]
452          vfmsubaddpd   %ymm2, %ymm1, %ymm0, %ymm0
453