[ARM] Better OR's for MVE compares
[llvm-core.git] / test / MC / X86 / x86_64-fma4-encoding.s
blobc9bd954e9049661848cb212a6c4ec9d22397749a
1 // RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding %s | FileCheck %s
3 // vfmadd
4 // CHECK: vfmaddss (%rcx), %xmm1, %xmm0, %xmm0
5 // CHECK: encoding: [0xc4,0xe3,0xf9,0x6a,0x01,0x10]
6 vfmaddss (%rcx), %xmm1, %xmm0, %xmm0
8 // CHECK: vfmaddss %xmm1, (%rcx), %xmm0, %xmm0
9 // CHECK: encoding: [0xc4,0xe3,0x79,0x6a,0x01,0x10]
10 vfmaddss %xmm1, (%rcx),%xmm0, %xmm0
12 // CHECK: vfmaddss %xmm2, %xmm1, %xmm0, %xmm0
13 // CHECK: encoding: [0xc4,0xe3,0xf9,0x6a,0xc2,0x10]
14 vfmaddss %xmm2, %xmm1, %xmm0, %xmm0
16 // CHECK: vfmaddsd (%rcx), %xmm1, %xmm0, %xmm0
17 // CHECK: encoding: [0xc4,0xe3,0xf9,0x6b,0x01,0x10]
18 vfmaddsd (%rcx), %xmm1, %xmm0, %xmm0
20 // CHECK: vfmaddsd %xmm1, (%rcx), %xmm0, %xmm0
21 // CHECK: encoding: [0xc4,0xe3,0x79,0x6b,0x01,0x10]
22 vfmaddsd %xmm1, (%rcx),%xmm0, %xmm0
24 // CHECK: vfmaddsd %xmm2, %xmm1, %xmm0, %xmm0
25 // CHECK: encoding: [0xc4,0xe3,0xf9,0x6b,0xc2,0x10]
26 vfmaddsd %xmm2, %xmm1, %xmm0, %xmm0
28 // CHECK: vfmaddsd %xmm10, %xmm1, %xmm0, %xmm0
29 // CHECK: encoding: [0xc4,0xc3,0xf9,0x6b,0xc2,0x10]
30 vfmaddsd %xmm10, %xmm1, %xmm0, %xmm0
32 // CHECK: vfmaddps (%rcx), %xmm1, %xmm0, %xmm0
33 // CHECK: encoding: [0xc4,0xe3,0xf9,0x68,0x01,0x10]
34 vfmaddps (%rcx), %xmm1, %xmm0, %xmm0
36 // CHECK: vfmaddps %xmm1, (%rcx), %xmm0, %xmm0
37 // CHECK: encoding: [0xc4,0xe3,0x79,0x68,0x01,0x10]
38 vfmaddps %xmm1, (%rcx),%xmm0, %xmm0
40 // CHECK: vfmaddps %xmm2, %xmm1, %xmm0, %xmm0
41 // CHECK: encoding: [0xc4,0xe3,0xf9,0x68,0xc2,0x10]
42 vfmaddps %xmm2, %xmm1, %xmm0, %xmm0
44 // CHECK: vfmaddpd (%rcx), %xmm1, %xmm0, %xmm0
45 // CHECK: encoding: [0xc4,0xe3,0xf9,0x69,0x01,0x10]
46 vfmaddpd (%rcx), %xmm1, %xmm0, %xmm0
48 // CHECK: vfmaddpd %xmm1, (%rcx), %xmm0, %xmm0
49 // CHECK: encoding: [0xc4,0xe3,0x79,0x69,0x01,0x10]
50 vfmaddpd %xmm1, (%rcx),%xmm0, %xmm0
52 // CHECK: vfmaddpd %xmm2, %xmm1, %xmm0, %xmm0
53 // CHECK: encoding: [0xc4,0xe3,0xf9,0x69,0xc2,0x10]
54 vfmaddpd %xmm2, %xmm1, %xmm0, %xmm0
56 // CHECK: vfmaddps (%rcx), %ymm1, %ymm0, %ymm0
57 // CHECK: encoding: [0xc4,0xe3,0xfd,0x68,0x01,0x10]
58 vfmaddps (%rcx), %ymm1, %ymm0, %ymm0
60 // CHECK: vfmaddps %ymm1, (%rcx), %ymm0, %ymm0
61 // CHECK: encoding: [0xc4,0xe3,0x7d,0x68,0x01,0x10]
62 vfmaddps %ymm1, (%rcx),%ymm0, %ymm0
64 // CHECK: vfmaddps %ymm2, %ymm1, %ymm0, %ymm0
65 // CHECK: encoding: [0xc4,0xe3,0xfd,0x68,0xc2,0x10]
66 vfmaddps %ymm2, %ymm1, %ymm0, %ymm0
68 // CHECK: vfmaddpd (%rcx), %ymm1, %ymm0, %ymm0
69 // CHECK: encoding: [0xc4,0xe3,0xfd,0x69,0x01,0x10]
70 vfmaddpd (%rcx), %ymm1, %ymm0, %ymm0
72 // CHECK: vfmaddpd %ymm1, (%rcx), %ymm0, %ymm0
73 // CHECK: encoding: [0xc4,0xe3,0x7d,0x69,0x01,0x10]
74 vfmaddpd %ymm1, (%rcx),%ymm0, %ymm0
76 // CHECK: vfmaddpd %ymm2, %ymm1, %ymm0, %ymm0
77 // CHECK: encoding: [0xc4,0xe3,0xfd,0x69,0xc2,0x10]
78 vfmaddpd %ymm2, %ymm1, %ymm0, %ymm0
80 // PR15040
81 // CHECK: vfmaddss foo(%rip), %xmm1, %xmm0, %xmm0
82 // CHECK: encoding: [0xc4,0xe3,0xf9,0x6a,0x05,A,A,A,A,0x10]
83 // CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
84 vfmaddss foo(%rip), %xmm1, %xmm0, %xmm0
86 // CHECK: vfmaddss %xmm1, foo(%rip), %xmm0, %xmm0
87 // CHECK: encoding: [0xc4,0xe3,0x79,0x6a,0x05,A,A,A,A,0x10]
88 // CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
89 vfmaddss %xmm1, foo(%rip),%xmm0, %xmm0
91 // CHECK: vfmaddsd foo(%rip), %xmm1, %xmm0, %xmm0
92 // CHECK: encoding: [0xc4,0xe3,0xf9,0x6b,0x05,A,A,A,A,0x10]
93 // CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
94 vfmaddsd foo(%rip), %xmm1, %xmm0, %xmm0
96 // CHECK: vfmaddsd %xmm1, foo(%rip), %xmm0, %xmm0
97 // CHECK: encoding: [0xc4,0xe3,0x79,0x6b,0x05,A,A,A,A,0x10]
98 // CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
99 vfmaddsd %xmm1, foo(%rip),%xmm0, %xmm0
101 // CHECK: vfmaddps foo(%rip), %xmm1, %xmm0, %xmm0
102 // CHECK: encoding: [0xc4,0xe3,0xf9,0x68,0x05,A,A,A,A,0x10]
103 // CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
104 vfmaddps foo(%rip), %xmm1, %xmm0, %xmm0
106 // CHECK: vfmaddps %xmm1, foo(%rip), %xmm0, %xmm0
107 // CHECK: encoding: [0xc4,0xe3,0x79,0x68,0x05,A,A,A,A,0x10]
108 // CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
109 vfmaddps %xmm1, foo(%rip),%xmm0, %xmm0
111 // CHECK: vfmaddpd foo(%rip), %xmm1, %xmm0, %xmm0
112 // CHECK: encoding: [0xc4,0xe3,0xf9,0x69,0x05,A,A,A,A,0x10]
113 // CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
114 vfmaddpd foo(%rip), %xmm1, %xmm0, %xmm0
116 // CHECK: vfmaddpd %xmm1, foo(%rip), %xmm0, %xmm0
117 // CHECK: encoding: [0xc4,0xe3,0x79,0x69,0x05,A,A,A,A,0x10]
118 // CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
119 vfmaddpd %xmm1, foo(%rip),%xmm0, %xmm0
121 // CHECK: vfmaddps foo(%rip), %ymm1, %ymm0, %ymm0
122 // CHECK: encoding: [0xc4,0xe3,0xfd,0x68,0x05,A,A,A,A,0x10]
123 // CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
124 vfmaddps foo(%rip), %ymm1, %ymm0, %ymm0
126 // CHECK: vfmaddps %ymm1, foo(%rip), %ymm0, %ymm0
127 // CHECK: encoding: [0xc4,0xe3,0x7d,0x68,0x05,A,A,A,A,0x10]
128 // CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
129 vfmaddps %ymm1, foo(%rip),%ymm0, %ymm0
131 // CHECK: vfmaddpd foo(%rip), %ymm1, %ymm0, %ymm0
132 // CHECK: encoding: [0xc4,0xe3,0xfd,0x69,0x05,A,A,A,A,0x10]
133 // CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
134 vfmaddpd foo(%rip), %ymm1, %ymm0, %ymm0
136 // CHECK: vfmaddpd %ymm1, foo(%rip), %ymm0, %ymm0
137 // CHECK: encoding: [0xc4,0xe3,0x7d,0x69,0x05,A,A,A,A,0x10]
138 // CHECK: fixup A - offset: 5, value: foo-5, kind: reloc_riprel_4byte
139 vfmaddpd %ymm1, foo(%rip),%ymm0, %ymm0
141 // vfmsub
142 // CHECK: vfmsubss (%rcx), %xmm1, %xmm0, %xmm0
143 // CHECK: encoding: [0xc4,0xe3,0xf9,0x6e,0x01,0x10]
144 vfmsubss (%rcx), %xmm1, %xmm0, %xmm0
146 // CHECK: vfmsubss %xmm1, (%rcx), %xmm0, %xmm0
147 // CHECK: encoding: [0xc4,0xe3,0x79,0x6e,0x01,0x10]
148 vfmsubss %xmm1, (%rcx),%xmm0, %xmm0
150 // CHECK: vfmsubss %xmm2, %xmm1, %xmm0, %xmm0
151 // CHECK: encoding: [0xc4,0xe3,0xf9,0x6e,0xc2,0x10]
152 vfmsubss %xmm2, %xmm1, %xmm0, %xmm0
154 // CHECK: vfmsubsd (%rcx), %xmm1, %xmm0, %xmm0
155 // CHECK: encoding: [0xc4,0xe3,0xf9,0x6f,0x01,0x10]
156 vfmsubsd (%rcx), %xmm1, %xmm0, %xmm0
158 // CHECK: vfmsubsd %xmm1, (%rcx), %xmm0, %xmm0
159 // CHECK: encoding: [0xc4,0xe3,0x79,0x6f,0x01,0x10]
160 vfmsubsd %xmm1, (%rcx),%xmm0, %xmm0
162 // CHECK: vfmsubsd %xmm2, %xmm1, %xmm0, %xmm0
163 // CHECK: encoding: [0xc4,0xe3,0xf9,0x6f,0xc2,0x10]
164 vfmsubsd %xmm2, %xmm1, %xmm0, %xmm0
166 // CHECK: vfmsubps (%rcx), %xmm1, %xmm0, %xmm0
167 // CHECK: encoding: [0xc4,0xe3,0xf9,0x6c,0x01,0x10]
168 vfmsubps (%rcx), %xmm1, %xmm0, %xmm0
170 // CHECK: vfmsubps %xmm1, (%rcx), %xmm0, %xmm0
171 // CHECK: encoding: [0xc4,0xe3,0x79,0x6c,0x01,0x10]
172 vfmsubps %xmm1, (%rcx),%xmm0, %xmm0
174 // CHECK: vfmsubps %xmm2, %xmm1, %xmm0, %xmm0
175 // CHECK: encoding: [0xc4,0xe3,0xf9,0x6c,0xc2,0x10]
176 vfmsubps %xmm2, %xmm1, %xmm0, %xmm0
178 // CHECK: vfmsubpd (%rcx), %xmm1, %xmm0, %xmm0
179 // CHECK: encoding: [0xc4,0xe3,0xf9,0x6d,0x01,0x10]
180 vfmsubpd (%rcx), %xmm1, %xmm0, %xmm0
182 // CHECK: vfmsubpd %xmm1, (%rcx), %xmm0, %xmm0
183 // CHECK: encoding: [0xc4,0xe3,0x79,0x6d,0x01,0x10]
184 vfmsubpd %xmm1, (%rcx),%xmm0, %xmm0
186 // CHECK: vfmsubpd %xmm2, %xmm1, %xmm0, %xmm0
187 // CHECK: encoding: [0xc4,0xe3,0xf9,0x6d,0xc2,0x10]
188 vfmsubpd %xmm2, %xmm1, %xmm0, %xmm0
190 // CHECK: vfmsubps (%rcx), %ymm1, %ymm0, %ymm0
191 // CHECK: encoding: [0xc4,0xe3,0xfd,0x6c,0x01,0x10]
192 vfmsubps (%rcx), %ymm1, %ymm0, %ymm0
194 // CHECK: vfmsubps %ymm1, (%rcx), %ymm0, %ymm0
195 // CHECK: encoding: [0xc4,0xe3,0x7d,0x6c,0x01,0x10]
196 vfmsubps %ymm1, (%rcx),%ymm0, %ymm0
198 // CHECK: vfmsubps %ymm2, %ymm1, %ymm0, %ymm0
199 // CHECK: encoding: [0xc4,0xe3,0xfd,0x6c,0xc2,0x10]
200 vfmsubps %ymm2, %ymm1, %ymm0, %ymm0
202 // CHECK: vfmsubpd (%rcx), %ymm1, %ymm0, %ymm0
203 // CHECK: encoding: [0xc4,0xe3,0xfd,0x6d,0x01,0x10]
204 vfmsubpd (%rcx), %ymm1, %ymm0, %ymm0
206 // CHECK: vfmsubpd %ymm1, (%rcx), %ymm0, %ymm0
207 // CHECK: encoding: [0xc4,0xe3,0x7d,0x6d,0x01,0x10]
208 vfmsubpd %ymm1, (%rcx),%ymm0, %ymm0
210 // CHECK: vfmsubpd %ymm2, %ymm1, %ymm0, %ymm0
211 // CHECK: encoding: [0xc4,0xe3,0xfd,0x6d,0xc2,0x10]
212 vfmsubpd %ymm2, %ymm1, %ymm0, %ymm0
214 // vfnmadd
215 // CHECK: vfnmaddss (%rcx), %xmm1, %xmm0, %xmm0
216 // CHECK: encoding: [0xc4,0xe3,0xf9,0x7a,0x01,0x10]
217 vfnmaddss (%rcx), %xmm1, %xmm0, %xmm0
219 // CHECK: vfnmaddss %xmm1, (%rcx), %xmm0, %xmm0
220 // CHECK: encoding: [0xc4,0xe3,0x79,0x7a,0x01,0x10]
221 vfnmaddss %xmm1, (%rcx),%xmm0, %xmm0
223 // CHECK: vfnmaddss %xmm2, %xmm1, %xmm0, %xmm0
224 // CHECK: encoding: [0xc4,0xe3,0xf9,0x7a,0xc2,0x10]
225 vfnmaddss %xmm2, %xmm1, %xmm0, %xmm0
227 // CHECK: vfnmaddsd (%rcx), %xmm1, %xmm0, %xmm0
228 // CHECK: encoding: [0xc4,0xe3,0xf9,0x7b,0x01,0x10]
229 vfnmaddsd (%rcx), %xmm1, %xmm0, %xmm0
231 // CHECK: vfnmaddsd %xmm1, (%rcx), %xmm0, %xmm0
232 // CHECK: encoding: [0xc4,0xe3,0x79,0x7b,0x01,0x10]
233 vfnmaddsd %xmm1, (%rcx),%xmm0, %xmm0
235 // CHECK: vfnmaddsd %xmm2, %xmm1, %xmm0, %xmm0
236 // CHECK: encoding: [0xc4,0xe3,0xf9,0x7b,0xc2,0x10]
237 vfnmaddsd %xmm2, %xmm1, %xmm0, %xmm0
239 // CHECK: vfnmaddps (%rcx), %xmm1, %xmm0, %xmm0
240 // CHECK: encoding: [0xc4,0xe3,0xf9,0x78,0x01,0x10]
241 vfnmaddps (%rcx), %xmm1, %xmm0, %xmm0
243 // CHECK: vfnmaddps %xmm1, (%rcx), %xmm0, %xmm0
244 // CHECK: encoding: [0xc4,0xe3,0x79,0x78,0x01,0x10]
245 vfnmaddps %xmm1, (%rcx),%xmm0, %xmm0
247 // CHECK: vfnmaddps %xmm2, %xmm1, %xmm0, %xmm0
248 // CHECK: encoding: [0xc4,0xe3,0xf9,0x78,0xc2,0x10]
249 vfnmaddps %xmm2, %xmm1, %xmm0, %xmm0
251 // CHECK: vfnmaddpd (%rcx), %xmm1, %xmm0, %xmm0
252 // CHECK: encoding: [0xc4,0xe3,0xf9,0x79,0x01,0x10]
253 vfnmaddpd (%rcx), %xmm1, %xmm0, %xmm0
255 // CHECK: vfnmaddpd %xmm1, (%rcx), %xmm0, %xmm0
256 // CHECK: encoding: [0xc4,0xe3,0x79,0x79,0x01,0x10]
257 vfnmaddpd %xmm1, (%rcx),%xmm0, %xmm0
259 // CHECK: vfnmaddpd %xmm2, %xmm1, %xmm0, %xmm0
260 // CHECK: encoding: [0xc4,0xe3,0xf9,0x79,0xc2,0x10]
261 vfnmaddpd %xmm2, %xmm1, %xmm0, %xmm0
263 // CHECK: vfnmaddps (%rcx), %ymm1, %ymm0, %ymm0
264 // CHECK: encoding: [0xc4,0xe3,0xfd,0x78,0x01,0x10]
265 vfnmaddps (%rcx), %ymm1, %ymm0, %ymm0
267 // CHECK: vfnmaddps %ymm1, (%rcx), %ymm0, %ymm0
268 // CHECK: encoding: [0xc4,0xe3,0x7d,0x78,0x01,0x10]
269 vfnmaddps %ymm1, (%rcx),%ymm0, %ymm0
271 // CHECK: vfnmaddps %ymm2, %ymm1, %ymm0, %ymm0
272 // CHECK: encoding: [0xc4,0xe3,0xfd,0x78,0xc2,0x10]
273 vfnmaddps %ymm2, %ymm1, %ymm0, %ymm0
275 // CHECK: vfnmaddpd (%rcx), %ymm1, %ymm0, %ymm0
276 // CHECK: encoding: [0xc4,0xe3,0xfd,0x79,0x01,0x10]
277 vfnmaddpd (%rcx), %ymm1, %ymm0, %ymm0
279 // CHECK: vfnmaddpd %ymm1, (%rcx), %ymm0, %ymm0
280 // CHECK: encoding: [0xc4,0xe3,0x7d,0x79,0x01,0x10]
281 vfnmaddpd %ymm1, (%rcx),%ymm0, %ymm0
283 // CHECK: vfnmaddpd %ymm2, %ymm1, %ymm0, %ymm0
284 // CHECK: encoding: [0xc4,0xe3,0xfd,0x79,0xc2,0x10]
285 vfnmaddpd %ymm2, %ymm1, %ymm0, %ymm0
287 // vfnmsub
288 // CHECK: vfnmsubss (%rcx), %xmm1, %xmm0, %xmm0
289 // CHECK: encoding: [0xc4,0xe3,0xf9,0x7e,0x01,0x10]
290 vfnmsubss (%rcx), %xmm1, %xmm0, %xmm0
292 // CHECK: vfnmsubss %xmm1, (%rcx), %xmm0, %xmm0
293 // CHECK: encoding: [0xc4,0xe3,0x79,0x7e,0x01,0x10]
294 vfnmsubss %xmm1, (%rcx),%xmm0, %xmm0
296 // CHECK: vfnmsubss %xmm2, %xmm1, %xmm0, %xmm0
297 // CHECK: encoding: [0xc4,0xe3,0xf9,0x7e,0xc2,0x10]
298 vfnmsubss %xmm2, %xmm1, %xmm0, %xmm0
300 // CHECK: vfnmsubsd (%rcx), %xmm1, %xmm0, %xmm0
301 // CHECK: encoding: [0xc4,0xe3,0xf9,0x7f,0x01,0x10]
302 vfnmsubsd (%rcx), %xmm1, %xmm0, %xmm0
304 // CHECK: vfnmsubsd %xmm1, (%rcx), %xmm0, %xmm0
305 // CHECK: encoding: [0xc4,0xe3,0x79,0x7f,0x01,0x10]
306 vfnmsubsd %xmm1, (%rcx),%xmm0, %xmm0
308 // CHECK: vfnmsubsd %xmm2, %xmm1, %xmm0, %xmm0
309 // CHECK: encoding: [0xc4,0xe3,0xf9,0x7f,0xc2,0x10]
310 vfnmsubsd %xmm2, %xmm1, %xmm0, %xmm0
312 // CHECK: vfnmsubps (%rcx), %xmm1, %xmm0, %xmm0
313 // CHECK: encoding: [0xc4,0xe3,0xf9,0x7c,0x01,0x10]
314 vfnmsubps (%rcx), %xmm1, %xmm0, %xmm0
316 // CHECK: vfnmsubps %xmm1, (%rcx), %xmm0, %xmm0
317 // CHECK: encoding: [0xc4,0xe3,0x79,0x7c,0x01,0x10]
318 vfnmsubps %xmm1, (%rcx),%xmm0, %xmm0
320 // CHECK: vfnmsubps %xmm2, %xmm1, %xmm0, %xmm0
321 // CHECK: encoding: [0xc4,0xe3,0xf9,0x7c,0xc2,0x10]
322 vfnmsubps %xmm2, %xmm1, %xmm0, %xmm0
324 // CHECK: vfnmsubpd (%rcx), %xmm1, %xmm0, %xmm0
325 // CHECK: encoding: [0xc4,0xe3,0xf9,0x7d,0x01,0x10]
326 vfnmsubpd (%rcx), %xmm1, %xmm0, %xmm0
328 // CHECK: vfnmsubpd %xmm1, (%rcx), %xmm0, %xmm0
329 // CHECK: encoding: [0xc4,0xe3,0x79,0x7d,0x01,0x10]
330 vfnmsubpd %xmm1, (%rcx),%xmm0, %xmm0
332 // CHECK: vfnmsubpd %xmm2, %xmm1, %xmm0, %xmm0
333 // CHECK: encoding: [0xc4,0xe3,0xf9,0x7d,0xc2,0x10]
334 vfnmsubpd %xmm2, %xmm1, %xmm0, %xmm0
336 // CHECK: vfnmsubps (%rcx), %ymm1, %ymm0, %ymm0
337 // CHECK: encoding: [0xc4,0xe3,0xfd,0x7c,0x01,0x10]
338 vfnmsubps (%rcx), %ymm1, %ymm0, %ymm0
340 // CHECK: vfnmsubps %ymm1, (%rcx), %ymm0, %ymm0
341 // CHECK: encoding: [0xc4,0xe3,0x7d,0x7c,0x01,0x10]
342 vfnmsubps %ymm1, (%rcx),%ymm0, %ymm0
344 // CHECK: vfnmsubps %ymm2, %ymm1, %ymm0, %ymm0
345 // CHECK: encoding: [0xc4,0xe3,0xfd,0x7c,0xc2,0x10]
346 vfnmsubps %ymm2, %ymm1, %ymm0, %ymm0
348 // CHECK: vfnmsubpd (%rcx), %ymm1, %ymm0, %ymm0
349 // CHECK: encoding: [0xc4,0xe3,0xfd,0x7d,0x01,0x10]
350 vfnmsubpd (%rcx), %ymm1, %ymm0, %ymm0
352 // CHECK: vfnmsubpd %ymm1, (%rcx), %ymm0, %ymm0
353 // CHECK: encoding: [0xc4,0xe3,0x7d,0x7d,0x01,0x10]
354 vfnmsubpd %ymm1, (%rcx),%ymm0, %ymm0
356 // CHECK: vfnmsubpd %ymm2, %ymm1, %ymm0, %ymm0
357 // CHECK: encoding: [0xc4,0xe3,0xfd,0x7d,0xc2,0x10]
358 vfnmsubpd %ymm2, %ymm1, %ymm0, %ymm0
360 // vfmaddsub
361 // CHECK: vfmaddsubps (%rcx), %xmm1, %xmm0, %xmm0
362 // CHECK: encoding: [0xc4,0xe3,0xf9,0x5c,0x01,0x10]
363 vfmaddsubps (%rcx), %xmm1, %xmm0, %xmm0
365 // CHECK: vfmaddsubps %xmm1, (%rcx), %xmm0, %xmm0
366 // CHECK: encoding: [0xc4,0xe3,0x79,0x5c,0x01,0x10]
367 vfmaddsubps %xmm1, (%rcx),%xmm0, %xmm0
369 // CHECK: vfmaddsubps %xmm2, %xmm1, %xmm0, %xmm0
370 // CHECK: encoding: [0xc4,0xe3,0xf9,0x5c,0xc2,0x10]
371 vfmaddsubps %xmm2, %xmm1, %xmm0, %xmm0
373 // CHECK: vfmaddsubpd (%rcx), %xmm1, %xmm0, %xmm0
374 // CHECK: encoding: [0xc4,0xe3,0xf9,0x5d,0x01,0x10]
375 vfmaddsubpd (%rcx), %xmm1, %xmm0, %xmm0
377 // CHECK: vfmaddsubpd %xmm1, (%rcx), %xmm0, %xmm0
378 // CHECK: encoding: [0xc4,0xe3,0x79,0x5d,0x01,0x10]
379 vfmaddsubpd %xmm1, (%rcx),%xmm0, %xmm0
381 // CHECK: vfmaddsubpd %xmm2, %xmm1, %xmm0, %xmm0
382 // CHECK: encoding: [0xc4,0xe3,0xf9,0x5d,0xc2,0x10]
383 vfmaddsubpd %xmm2, %xmm1, %xmm0, %xmm0
385 // CHECK: vfmaddsubps (%rcx), %ymm1, %ymm0, %ymm0
386 // CHECK: encoding: [0xc4,0xe3,0xfd,0x5c,0x01,0x10]
387 vfmaddsubps (%rcx), %ymm1, %ymm0, %ymm0
389 // CHECK: vfmaddsubps %ymm1, (%rcx), %ymm0, %ymm0
390 // CHECK: encoding: [0xc4,0xe3,0x7d,0x5c,0x01,0x10]
391 vfmaddsubps %ymm1, (%rcx),%ymm0, %ymm0
393 // CHECK: vfmaddsubps %ymm2, %ymm1, %ymm0, %ymm0
394 // CHECK: encoding: [0xc4,0xe3,0xfd,0x5c,0xc2,0x10]
395 vfmaddsubps %ymm2, %ymm1, %ymm0, %ymm0
397 // CHECK: vfmaddsubpd (%rcx), %ymm1, %ymm0, %ymm0
398 // CHECK: encoding: [0xc4,0xe3,0xfd,0x5d,0x01,0x10]
399 vfmaddsubpd (%rcx), %ymm1, %ymm0, %ymm0
401 // CHECK: vfmaddsubpd %ymm1, (%rcx), %ymm0, %ymm0
402 // CHECK: encoding: [0xc4,0xe3,0x7d,0x5d,0x01,0x10]
403 vfmaddsubpd %ymm1, (%rcx),%ymm0, %ymm0
405 // CHECK: vfmaddsubpd %ymm2, %ymm1, %ymm0, %ymm0
406 // CHECK: encoding: [0xc4,0xe3,0xfd,0x5d,0xc2,0x10]
407 vfmaddsubpd %ymm2, %ymm1, %ymm0, %ymm0
409 // vfmsubadd
410 // CHECK: vfmsubaddps (%rcx), %xmm1, %xmm0, %xmm0
411 // CHECK: encoding: [0xc4,0xe3,0xf9,0x5e,0x01,0x10]
412 vfmsubaddps (%rcx), %xmm1, %xmm0, %xmm0
414 // CHECK: vfmsubaddps %xmm1, (%rcx), %xmm0, %xmm0
415 // CHECK: encoding: [0xc4,0xe3,0x79,0x5e,0x01,0x10]
416 vfmsubaddps %xmm1, (%rcx),%xmm0, %xmm0
418 // CHECK: vfmsubaddps %xmm2, %xmm1, %xmm0, %xmm0
419 // CHECK: encoding: [0xc4,0xe3,0xf9,0x5e,0xc2,0x10]
420 vfmsubaddps %xmm2, %xmm1, %xmm0, %xmm0
422 // CHECK: vfmsubaddpd (%rcx), %xmm1, %xmm0, %xmm0
423 // CHECK: encoding: [0xc4,0xe3,0xf9,0x5f,0x01,0x10]
424 vfmsubaddpd (%rcx), %xmm1, %xmm0, %xmm0
426 // CHECK: vfmsubaddpd %xmm1, (%rcx), %xmm0, %xmm0
427 // CHECK: encoding: [0xc4,0xe3,0x79,0x5f,0x01,0x10]
428 vfmsubaddpd %xmm1, (%rcx),%xmm0, %xmm0
430 // CHECK: vfmsubaddpd %xmm2, %xmm1, %xmm0, %xmm0
431 // CHECK: encoding: [0xc4,0xe3,0xf9,0x5f,0xc2,0x10]
432 vfmsubaddpd %xmm2, %xmm1, %xmm0, %xmm0
434 // CHECK: vfmsubaddps (%rcx), %ymm1, %ymm0, %ymm0
435 // CHECK: encoding: [0xc4,0xe3,0xfd,0x5e,0x01,0x10]
436 vfmsubaddps (%rcx), %ymm1, %ymm0, %ymm0
438 // CHECK: vfmsubaddps %ymm1, (%rcx), %ymm0, %ymm0
439 // CHECK: encoding: [0xc4,0xe3,0x7d,0x5e,0x01,0x10]
440 vfmsubaddps %ymm1, (%rcx),%ymm0, %ymm0
442 // CHECK: vfmsubaddps %ymm2, %ymm1, %ymm0, %ymm0
443 // CHECK: encoding: [0xc4,0xe3,0xfd,0x5e,0xc2,0x10]
444 vfmsubaddps %ymm2, %ymm1, %ymm0, %ymm0
446 // CHECK: vfmsubaddpd (%rcx), %ymm1, %ymm0, %ymm0
447 // CHECK: encoding: [0xc4,0xe3,0xfd,0x5f,0x01,0x10]
448 vfmsubaddpd (%rcx), %ymm1, %ymm0, %ymm0
450 // CHECK: vfmsubaddpd %ymm1, (%rcx), %ymm0, %ymm0
451 // CHECK: encoding: [0xc4,0xe3,0x7d,0x5f,0x01,0x10]
452 vfmsubaddpd %ymm1, (%rcx),%ymm0, %ymm0
454 // CHECK: vfmsubaddpd %ymm2, %ymm1, %ymm0, %ymm0
455 // CHECK: encoding: [0xc4,0xe3,0xfd,0x5f,0xc2,0x10]
456 vfmsubaddpd %ymm2, %ymm1, %ymm0, %ymm0