[ARM] Better OR's for MVE compares
[llvm-core.git] / test / MC / X86 / SSE3-64.s
blob60e2dba60e7c10c79ffbb520220df523d4904ea9
1 // RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding %s | FileCheck %s
3 // CHECK: addsubpd 485498096, %xmm6
4 // CHECK: encoding: [0x66,0x0f,0xd0,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
5 addsubpd 485498096, %xmm6
7 // CHECK: addsubpd -64(%rdx,%rax,4), %xmm6
8 // CHECK: encoding: [0x66,0x0f,0xd0,0x74,0x82,0xc0]
9 addsubpd -64(%rdx,%rax,4), %xmm6
11 // CHECK: addsubpd 64(%rdx,%rax,4), %xmm6
12 // CHECK: encoding: [0x66,0x0f,0xd0,0x74,0x82,0x40]
13 addsubpd 64(%rdx,%rax,4), %xmm6
15 // CHECK: addsubpd 64(%rdx,%rax), %xmm6
16 // CHECK: encoding: [0x66,0x0f,0xd0,0x74,0x02,0x40]
17 addsubpd 64(%rdx,%rax), %xmm6
19 // CHECK: addsubpd 64(%rdx), %xmm6
20 // CHECK: encoding: [0x66,0x0f,0xd0,0x72,0x40]
21 addsubpd 64(%rdx), %xmm6
23 // CHECK: addsubpd (%rdx), %xmm6
24 // CHECK: encoding: [0x66,0x0f,0xd0,0x32]
25 addsubpd (%rdx), %xmm6
27 // CHECK: addsubpd %xmm6, %xmm6
28 // CHECK: encoding: [0x66,0x0f,0xd0,0xf6]
29 addsubpd %xmm6, %xmm6
31 // CHECK: addsubps 485498096, %xmm6
32 // CHECK: encoding: [0xf2,0x0f,0xd0,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
33 addsubps 485498096, %xmm6
35 // CHECK: addsubps -64(%rdx,%rax,4), %xmm6
36 // CHECK: encoding: [0xf2,0x0f,0xd0,0x74,0x82,0xc0]
37 addsubps -64(%rdx,%rax,4), %xmm6
39 // CHECK: addsubps 64(%rdx,%rax,4), %xmm6
40 // CHECK: encoding: [0xf2,0x0f,0xd0,0x74,0x82,0x40]
41 addsubps 64(%rdx,%rax,4), %xmm6
43 // CHECK: addsubps 64(%rdx,%rax), %xmm6
44 // CHECK: encoding: [0xf2,0x0f,0xd0,0x74,0x02,0x40]
45 addsubps 64(%rdx,%rax), %xmm6
47 // CHECK: addsubps 64(%rdx), %xmm6
48 // CHECK: encoding: [0xf2,0x0f,0xd0,0x72,0x40]
49 addsubps 64(%rdx), %xmm6
51 // CHECK: addsubps (%rdx), %xmm6
52 // CHECK: encoding: [0xf2,0x0f,0xd0,0x32]
53 addsubps (%rdx), %xmm6
55 // CHECK: addsubps %xmm6, %xmm6
56 // CHECK: encoding: [0xf2,0x0f,0xd0,0xf6]
57 addsubps %xmm6, %xmm6
59 // CHECK: fisttpl 485498096
60 // CHECK: encoding: [0xdb,0x0c,0x25,0xf0,0x1c,0xf0,0x1c]
61 fisttpl 485498096
63 // CHECK: fisttpl 64(%rdx)
64 // CHECK: encoding: [0xdb,0x4a,0x40]
65 fisttpl 64(%rdx)
67 // CHECK: fisttpl -64(%rdx,%rax,4)
68 // CHECK: encoding: [0xdb,0x4c,0x82,0xc0]
69 fisttpl -64(%rdx,%rax,4)
71 // CHECK: fisttpl 64(%rdx,%rax,4)
72 // CHECK: encoding: [0xdb,0x4c,0x82,0x40]
73 fisttpl 64(%rdx,%rax,4)
75 // CHECK: fisttpl 64(%rdx,%rax)
76 // CHECK: encoding: [0xdb,0x4c,0x02,0x40]
77 fisttpl 64(%rdx,%rax)
79 // CHECK: fisttpll 485498096
80 // CHECK: encoding: [0xdd,0x0c,0x25,0xf0,0x1c,0xf0,0x1c]
81 fisttpll 485498096
83 // CHECK: fisttpll 64(%rdx)
84 // CHECK: encoding: [0xdd,0x4a,0x40]
85 fisttpll 64(%rdx)
87 // CHECK: fisttpll -64(%rdx,%rax,4)
88 // CHECK: encoding: [0xdd,0x4c,0x82,0xc0]
89 fisttpll -64(%rdx,%rax,4)
91 // CHECK: fisttpll 64(%rdx,%rax,4)
92 // CHECK: encoding: [0xdd,0x4c,0x82,0x40]
93 fisttpll 64(%rdx,%rax,4)
95 // CHECK: fisttpll 64(%rdx,%rax)
96 // CHECK: encoding: [0xdd,0x4c,0x02,0x40]
97 fisttpll 64(%rdx,%rax)
99 // CHECK: fisttpll (%rdx)
100 // CHECK: encoding: [0xdd,0x0a]
101 fisttpll (%rdx)
103 // CHECK: fisttpl (%rdx)
104 // CHECK: encoding: [0xdb,0x0a]
105 fisttpl (%rdx)
107 // CHECK: fisttps 485498096
108 // CHECK: encoding: [0xdf,0x0c,0x25,0xf0,0x1c,0xf0,0x1c]
109 fisttps 485498096
111 // CHECK: fisttps 64(%rdx)
112 // CHECK: encoding: [0xdf,0x4a,0x40]
113 fisttps 64(%rdx)
115 // CHECK: fisttps -64(%rdx,%rax,4)
116 // CHECK: encoding: [0xdf,0x4c,0x82,0xc0]
117 fisttps -64(%rdx,%rax,4)
119 // CHECK: fisttps 64(%rdx,%rax,4)
120 // CHECK: encoding: [0xdf,0x4c,0x82,0x40]
121 fisttps 64(%rdx,%rax,4)
123 // CHECK: fisttps 64(%rdx,%rax)
124 // CHECK: encoding: [0xdf,0x4c,0x02,0x40]
125 fisttps 64(%rdx,%rax)
127 // CHECK: fisttps (%rdx)
128 // CHECK: encoding: [0xdf,0x0a]
129 fisttps (%rdx)
131 // CHECK: haddpd 485498096, %xmm6
132 // CHECK: encoding: [0x66,0x0f,0x7c,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
133 haddpd 485498096, %xmm6
135 // CHECK: haddpd -64(%rdx,%rax,4), %xmm6
136 // CHECK: encoding: [0x66,0x0f,0x7c,0x74,0x82,0xc0]
137 haddpd -64(%rdx,%rax,4), %xmm6
139 // CHECK: haddpd 64(%rdx,%rax,4), %xmm6
140 // CHECK: encoding: [0x66,0x0f,0x7c,0x74,0x82,0x40]
141 haddpd 64(%rdx,%rax,4), %xmm6
143 // CHECK: haddpd 64(%rdx,%rax), %xmm6
144 // CHECK: encoding: [0x66,0x0f,0x7c,0x74,0x02,0x40]
145 haddpd 64(%rdx,%rax), %xmm6
147 // CHECK: haddpd 64(%rdx), %xmm6
148 // CHECK: encoding: [0x66,0x0f,0x7c,0x72,0x40]
149 haddpd 64(%rdx), %xmm6
151 // CHECK: haddpd (%rdx), %xmm6
152 // CHECK: encoding: [0x66,0x0f,0x7c,0x32]
153 haddpd (%rdx), %xmm6
155 // CHECK: haddpd %xmm6, %xmm6
156 // CHECK: encoding: [0x66,0x0f,0x7c,0xf6]
157 haddpd %xmm6, %xmm6
159 // CHECK: haddps 485498096, %xmm6
160 // CHECK: encoding: [0xf2,0x0f,0x7c,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
161 haddps 485498096, %xmm6
163 // CHECK: haddps -64(%rdx,%rax,4), %xmm6
164 // CHECK: encoding: [0xf2,0x0f,0x7c,0x74,0x82,0xc0]
165 haddps -64(%rdx,%rax,4), %xmm6
167 // CHECK: haddps 64(%rdx,%rax,4), %xmm6
168 // CHECK: encoding: [0xf2,0x0f,0x7c,0x74,0x82,0x40]
169 haddps 64(%rdx,%rax,4), %xmm6
171 // CHECK: haddps 64(%rdx,%rax), %xmm6
172 // CHECK: encoding: [0xf2,0x0f,0x7c,0x74,0x02,0x40]
173 haddps 64(%rdx,%rax), %xmm6
175 // CHECK: haddps 64(%rdx), %xmm6
176 // CHECK: encoding: [0xf2,0x0f,0x7c,0x72,0x40]
177 haddps 64(%rdx), %xmm6
179 // CHECK: haddps (%rdx), %xmm6
180 // CHECK: encoding: [0xf2,0x0f,0x7c,0x32]
181 haddps (%rdx), %xmm6
183 // CHECK: haddps %xmm6, %xmm6
184 // CHECK: encoding: [0xf2,0x0f,0x7c,0xf6]
185 haddps %xmm6, %xmm6
187 // CHECK: hsubpd 485498096, %xmm6
188 // CHECK: encoding: [0x66,0x0f,0x7d,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
189 hsubpd 485498096, %xmm6
191 // CHECK: hsubpd -64(%rdx,%rax,4), %xmm6
192 // CHECK: encoding: [0x66,0x0f,0x7d,0x74,0x82,0xc0]
193 hsubpd -64(%rdx,%rax,4), %xmm6
195 // CHECK: hsubpd 64(%rdx,%rax,4), %xmm6
196 // CHECK: encoding: [0x66,0x0f,0x7d,0x74,0x82,0x40]
197 hsubpd 64(%rdx,%rax,4), %xmm6
199 // CHECK: hsubpd 64(%rdx,%rax), %xmm6
200 // CHECK: encoding: [0x66,0x0f,0x7d,0x74,0x02,0x40]
201 hsubpd 64(%rdx,%rax), %xmm6
203 // CHECK: hsubpd 64(%rdx), %xmm6
204 // CHECK: encoding: [0x66,0x0f,0x7d,0x72,0x40]
205 hsubpd 64(%rdx), %xmm6
207 // CHECK: hsubpd (%rdx), %xmm6
208 // CHECK: encoding: [0x66,0x0f,0x7d,0x32]
209 hsubpd (%rdx), %xmm6
211 // CHECK: hsubpd %xmm6, %xmm6
212 // CHECK: encoding: [0x66,0x0f,0x7d,0xf6]
213 hsubpd %xmm6, %xmm6
215 // CHECK: hsubps 485498096, %xmm6
216 // CHECK: encoding: [0xf2,0x0f,0x7d,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
217 hsubps 485498096, %xmm6
219 // CHECK: hsubps -64(%rdx,%rax,4), %xmm6
220 // CHECK: encoding: [0xf2,0x0f,0x7d,0x74,0x82,0xc0]
221 hsubps -64(%rdx,%rax,4), %xmm6
223 // CHECK: hsubps 64(%rdx,%rax,4), %xmm6
224 // CHECK: encoding: [0xf2,0x0f,0x7d,0x74,0x82,0x40]
225 hsubps 64(%rdx,%rax,4), %xmm6
227 // CHECK: hsubps 64(%rdx,%rax), %xmm6
228 // CHECK: encoding: [0xf2,0x0f,0x7d,0x74,0x02,0x40]
229 hsubps 64(%rdx,%rax), %xmm6
231 // CHECK: hsubps 64(%rdx), %xmm6
232 // CHECK: encoding: [0xf2,0x0f,0x7d,0x72,0x40]
233 hsubps 64(%rdx), %xmm6
235 // CHECK: hsubps (%rdx), %xmm6
236 // CHECK: encoding: [0xf2,0x0f,0x7d,0x32]
237 hsubps (%rdx), %xmm6
239 // CHECK: hsubps %xmm6, %xmm6
240 // CHECK: encoding: [0xf2,0x0f,0x7d,0xf6]
241 hsubps %xmm6, %xmm6
243 // CHECK: lddqu 485498096, %xmm6
244 // CHECK: encoding: [0xf2,0x0f,0xf0,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
245 lddqu 485498096, %xmm6
247 // CHECK: lddqu -64(%rdx,%rax,4), %xmm6
248 // CHECK: encoding: [0xf2,0x0f,0xf0,0x74,0x82,0xc0]
249 lddqu -64(%rdx,%rax,4), %xmm6
251 // CHECK: lddqu 64(%rdx,%rax,4), %xmm6
252 // CHECK: encoding: [0xf2,0x0f,0xf0,0x74,0x82,0x40]
253 lddqu 64(%rdx,%rax,4), %xmm6
255 // CHECK: lddqu 64(%rdx,%rax), %xmm6
256 // CHECK: encoding: [0xf2,0x0f,0xf0,0x74,0x02,0x40]
257 lddqu 64(%rdx,%rax), %xmm6
259 // CHECK: lddqu 64(%rdx), %xmm6
260 // CHECK: encoding: [0xf2,0x0f,0xf0,0x72,0x40]
261 lddqu 64(%rdx), %xmm6
263 // CHECK: lddqu (%rdx), %xmm6
264 // CHECK: encoding: [0xf2,0x0f,0xf0,0x32]
265 lddqu (%rdx), %xmm6
267 // CHECK: monitor
268 // CHECK: encoding: [0x0f,0x01,0xc8]
269 monitor
271 // CHECK: movddup 485498096, %xmm6
272 // CHECK: encoding: [0xf2,0x0f,0x12,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
273 movddup 485498096, %xmm6
275 // CHECK: movddup -64(%rdx,%rax,4), %xmm6
276 // CHECK: encoding: [0xf2,0x0f,0x12,0x74,0x82,0xc0]
277 movddup -64(%rdx,%rax,4), %xmm6
279 // CHECK: movddup 64(%rdx,%rax,4), %xmm6
280 // CHECK: encoding: [0xf2,0x0f,0x12,0x74,0x82,0x40]
281 movddup 64(%rdx,%rax,4), %xmm6
283 // CHECK: movddup 64(%rdx,%rax), %xmm6
284 // CHECK: encoding: [0xf2,0x0f,0x12,0x74,0x02,0x40]
285 movddup 64(%rdx,%rax), %xmm6
287 // CHECK: movddup 64(%rdx), %xmm6
288 // CHECK: encoding: [0xf2,0x0f,0x12,0x72,0x40]
289 movddup 64(%rdx), %xmm6
291 // CHECK: movddup (%rdx), %xmm6
292 // CHECK: encoding: [0xf2,0x0f,0x12,0x32]
293 movddup (%rdx), %xmm6
295 // CHECK: movddup %xmm6, %xmm6
296 // CHECK: encoding: [0xf2,0x0f,0x12,0xf6]
297 movddup %xmm6, %xmm6
299 // CHECK: movshdup 485498096, %xmm6
300 // CHECK: encoding: [0xf3,0x0f,0x16,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
301 movshdup 485498096, %xmm6
303 // CHECK: movshdup -64(%rdx,%rax,4), %xmm6
304 // CHECK: encoding: [0xf3,0x0f,0x16,0x74,0x82,0xc0]
305 movshdup -64(%rdx,%rax,4), %xmm6
307 // CHECK: movshdup 64(%rdx,%rax,4), %xmm6
308 // CHECK: encoding: [0xf3,0x0f,0x16,0x74,0x82,0x40]
309 movshdup 64(%rdx,%rax,4), %xmm6
311 // CHECK: movshdup 64(%rdx,%rax), %xmm6
312 // CHECK: encoding: [0xf3,0x0f,0x16,0x74,0x02,0x40]
313 movshdup 64(%rdx,%rax), %xmm6
315 // CHECK: movshdup 64(%rdx), %xmm6
316 // CHECK: encoding: [0xf3,0x0f,0x16,0x72,0x40]
317 movshdup 64(%rdx), %xmm6
319 // CHECK: movshdup (%rdx), %xmm6
320 // CHECK: encoding: [0xf3,0x0f,0x16,0x32]
321 movshdup (%rdx), %xmm6
323 // CHECK: movshdup %xmm6, %xmm6
324 // CHECK: encoding: [0xf3,0x0f,0x16,0xf6]
325 movshdup %xmm6, %xmm6
327 // CHECK: movsldup 485498096, %xmm6
328 // CHECK: encoding: [0xf3,0x0f,0x12,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
329 movsldup 485498096, %xmm6
331 // CHECK: movsldup -64(%rdx,%rax,4), %xmm6
332 // CHECK: encoding: [0xf3,0x0f,0x12,0x74,0x82,0xc0]
333 movsldup -64(%rdx,%rax,4), %xmm6
335 // CHECK: movsldup 64(%rdx,%rax,4), %xmm6
336 // CHECK: encoding: [0xf3,0x0f,0x12,0x74,0x82,0x40]
337 movsldup 64(%rdx,%rax,4), %xmm6
339 // CHECK: movsldup 64(%rdx,%rax), %xmm6
340 // CHECK: encoding: [0xf3,0x0f,0x12,0x74,0x02,0x40]
341 movsldup 64(%rdx,%rax), %xmm6
343 // CHECK: movsldup 64(%rdx), %xmm6
344 // CHECK: encoding: [0xf3,0x0f,0x12,0x72,0x40]
345 movsldup 64(%rdx), %xmm6
347 // CHECK: movsldup (%rdx), %xmm6
348 // CHECK: encoding: [0xf3,0x0f,0x12,0x32]
349 movsldup (%rdx), %xmm6
351 // CHECK: movsldup %xmm6, %xmm6
352 // CHECK: encoding: [0xf3,0x0f,0x12,0xf6]
353 movsldup %xmm6, %xmm6
355 // CHECK: mwait
356 // CHECK: encoding: [0x0f,0x01,0xc9]
357 mwait