1; Exhaustive test of AVX2 instructions
2;
3;  Copyright (C) 2011  Peter Johnson
4;
5; Redistribution and use in source and binary forms, with or without
6; modification, are permitted provided that the following conditions
7; are met:
8; 1. Redistributions of source code must retain the above copyright
9;    notice, this list of conditions and the following disclaimer.
10; 2. Redistributions in binary form must reproduce the above copyright
11;    notice, this list of conditions and the following disclaimer in the
12;    documentation and/or other materials provided with the distribution.
13;
14; THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND OTHER CONTRIBUTORS ``AS IS''
15; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16; IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17; ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR OTHER CONTRIBUTORS BE
18; LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
19; CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
20; SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
21; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
22; CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
23; ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
24; POSSIBILITY OF SUCH DAMAGE.
25;
26
27[bits 64]
28
29vmpsadbw ymm1, ymm3, 3			; c4 e3 75 42 cb 03
30vmpsadbw ymm1, yword [rax], 3		; c4 e3 75 42 08 03
31vmpsadbw ymm1, ymm2, ymm3, 3		; c4 e3 6d 42 cb 03
32vmpsadbw ymm1, ymm2, yword [rax], 3	; c4 e3 6d 42 08 03
33
34vpabsb ymm1, ymm2			; c4 e2 7d 1c ca
35vpabsb ymm1, yword [rax]		; c4 e2 7d 1c 08
36
37vpabsw ymm1, ymm2			; c4 e2 7d 1d ca
38vpabsw ymm1, yword [rax]		; c4 e2 7d 1d 08
39
40vpabsd ymm1, ymm2			; c4 e2 7d 1e ca
41vpabsd ymm1, yword [rax]		; c4 e2 7d 1e 08
42
43vpacksswb ymm1, ymm3			; c5 f5 63 cb
44vpacksswb ymm1, yword [rax]		; c5 f5 63 08
45vpacksswb ymm1, ymm2, ymm3		; c5 ed 63 cb
46vpacksswb ymm1, ymm2, yword [rax]	; c5 ed 63 08
47
48vpackssdw ymm1, ymm3			; c5 f5 6b cb
49vpackssdw ymm1, yword [rax]		; c5 f5 6b 08
50vpackssdw ymm1, ymm2, ymm3		; c5 ed 6b cb
51vpackssdw ymm1, ymm2, yword [rax]	; c5 ed 6b 08
52
53vpackusdw ymm1, ymm3			; c4 e2 75 2b cb
54vpackusdw ymm1, yword [rax]		; c4 e2 75 2b 08
55vpackusdw ymm1, ymm2, ymm3		; c4 e2 6d 2b cb
56vpackusdw ymm1, ymm2, yword [rax]	; c4 e2 6d 2b 08
57
58vpackuswb ymm1, ymm3			; c5 f5 67 cb
59vpackuswb ymm1, yword [rax]		; c5 f5 67 08
60vpackuswb ymm1, ymm2, ymm3		; c5 ed 67 cb
61vpackuswb ymm1, ymm2, yword [rax]	; c5 ed 67 08
62
63vpaddb ymm1, ymm3			; c5 f5 fc cb
64vpaddb ymm1, yword [rax]		; c5 f5 fc 08
65vpaddb ymm1, ymm2, ymm3			; c5 ed fc cb
66vpaddb ymm1, ymm2, yword [rax]		; c5 ed fc 08
67
68vpaddw ymm1, ymm3			; c5 f5 fd cb
69vpaddw ymm1, yword [rax]		; c5 f5 fd 08
70vpaddw ymm1, ymm2, ymm3			; c5 ed fd cb
71vpaddw ymm1, ymm2, yword [rax]		; c5 ed fd 08
72
73vpaddd ymm1, ymm3			; c5 f5 fe cb
74vpaddd ymm1, yword [rax]		; c5 f5 fe 08
75vpaddd ymm1, ymm2, ymm3			; c5 ed fe cb
76vpaddd ymm1, ymm2, yword [rax]		; c5 ed fe 08
77
78vpaddq ymm1, ymm3			; c5 f5 d4 cb
79vpaddq ymm1, yword [rax]		; c5 f5 d4 08
80vpaddq ymm1, ymm2, ymm3			; c5 ed d4 cb
81vpaddq ymm1, ymm2, yword [rax]		; c5 ed d4 08
82
83vpaddsb ymm1, ymm3			; c5 f5 ec cb
84vpaddsb ymm1, yword [rax]		; c5 f5 ec 08
85vpaddsb ymm1, ymm2, ymm3		; c5 ed ec cb
86vpaddsb ymm1, ymm2, yword [rax]		; c5 ed ec 08
87
88vpaddsw ymm1, ymm3			; c5 f5 ed cb
89vpaddsw ymm1, yword [rax]		; c5 f5 ed 08
90vpaddsw ymm1, ymm2, ymm3		; c5 ed ed cb
91vpaddsw ymm1, ymm2, yword [rax]		; c5 ed ed 08
92
93vpaddusb ymm1, ymm3			; c5 f5 dc cb
94vpaddusb ymm1, yword [rax]		; c5 f5 dc 08
95vpaddusb ymm1, ymm2, ymm3		; c5 ed dc cb
96vpaddusb ymm1, ymm2, yword [rax]	; c5 ed dc 08
97
98vpaddusw ymm1, ymm3			; c5 f5 dd cb
99vpaddusw ymm1, yword [rax]		; c5 f5 dd 08
100vpaddusw ymm1, ymm2, ymm3		; c5 ed dd cb
101vpaddusw ymm1, ymm2, yword [rax]	; c5 ed dd 08
102
103vpalignr ymm1, ymm2, ymm3, 3		; c4 e3 6d 0f cb 03
104vpalignr ymm1, ymm2, yword [rax], 3	; c4 e3 6d 0f 08 03
105
106vpand ymm1, ymm3			; c5 f5 db cb
107vpand ymm1, yword [rax]			; c5 f5 db 08
108vpand ymm1, ymm2, ymm3			; c5 ed db cb
109vpand ymm1, ymm2, yword [rax]		; c5 ed db 08
110
111vpandn ymm1, ymm3			; c5 f5 df cb
112vpandn ymm1, yword [rax]		; c5 f5 df 08
113vpandn ymm1, ymm2, ymm3			; c5 ed df cb
114vpandn ymm1, ymm2, yword [rax]		; c5 ed df 08
115
116vpavgb ymm1, ymm3			; c5 f5 e0 cb
117vpavgb ymm1, yword [rax]		; c5 f5 e0 08
118vpavgb ymm1, ymm2, ymm3			; c5 ed e0 cb
119vpavgb ymm1, ymm2, yword [rax]		; c5 ed e0 08
120
121vpavgw ymm1, ymm3			; c5 f5 e3 cb
122vpavgw ymm1, yword [rax]		; c5 f5 e3 08
123vpavgw ymm1, ymm2, ymm3			; c5 ed e3 cb
124vpavgw ymm1, ymm2, yword [rax]		; c5 ed e3 08
125
126vpblendvb ymm1, ymm2, ymm3, ymm4	; c4 e3 6d 4c cb 40
127vpblendvb ymm1, ymm2, yword [rax], ymm4	; c4 e3 6d 4c 08 40
128
129vpblendw ymm1, ymm3, 3			; c4 e3 75 0e cb 03
130vpblendw ymm1, yword [rax], 3		; c4 e3 75 0e 08 03
131vpblendw ymm1, ymm2, ymm3, 3		; c4 e3 6d 0e cb 03
132vpblendw ymm1, ymm2, yword [rax], 3	; c4 e3 6d 0e 08 03
133
134vpcmpeqb ymm1, ymm3			; c5 f5 74 cb
135vpcmpeqb ymm1, yword [rax]		; c5 f5 74 08
136vpcmpeqb ymm1, ymm2, ymm3		; c5 ed 74 cb
137vpcmpeqb ymm1, ymm2, yword [rax]	; c5 ed 74 08
138
139vpcmpeqw ymm1, ymm3			; c5 f5 75 cb
140vpcmpeqw ymm1, yword [rax]		; c5 f5 75 08
141vpcmpeqw ymm1, ymm2, ymm3		; c5 ed 75 cb
142vpcmpeqw ymm1, ymm2, yword [rax]	; c5 ed 75 08
143
144vpcmpeqd ymm1, ymm3			; c5 f5 76 cb
145vpcmpeqd ymm1, yword [rax]		; c5 f5 76 08
146vpcmpeqd ymm1, ymm2, ymm3		; c5 ed 76 cb
147vpcmpeqd ymm1, ymm2, yword [rax]	; c5 ed 76 08
148
149vpcmpeqq ymm1, ymm3			; c4 e2 75 29 cb
150vpcmpeqq ymm1, yword [rax]		; c4 e2 75 29 08
151vpcmpeqq ymm1, ymm2, ymm3		; c4 e2 6d 29 cb
152vpcmpeqq ymm1, ymm2, yword [rax]	; c4 e2 6d 29 08
153
154vpcmpgtb ymm1, ymm3			; c5 f5 64 cb
155vpcmpgtb ymm1, yword [rax]		; c5 f5 64 08
156vpcmpgtb ymm1, ymm2, ymm3		; c5 ed 64 cb
157vpcmpgtb ymm1, ymm2, yword [rax]	; c5 ed 64 08
158
159vpcmpgtw ymm1, ymm3			; c5 f5 65 cb
160vpcmpgtw ymm1, yword [rax]		; c5 f5 65 08
161vpcmpgtw ymm1, ymm2, ymm3		; c5 ed 65 cb
162vpcmpgtw ymm1, ymm2, yword [rax]	; c5 ed 65 08
163
164vpcmpgtd ymm1, ymm3			; c5 f5 66 cb
165vpcmpgtd ymm1, yword [rax]		; c5 f5 66 08
166vpcmpgtd ymm1, ymm2, ymm3		; c5 ed 66 cb
167vpcmpgtd ymm1, ymm2, yword [rax]	; c5 ed 66 08
168
169vpcmpgtq ymm1, ymm3			; c4 e2 75 37 cb
170vpcmpgtq ymm1, yword [rax]		; c4 e2 75 37 08
171vpcmpgtq ymm1, ymm2, ymm3		; c4 e2 6d 37 cb
172vpcmpgtq ymm1, ymm2, yword [rax]	; c4 e2 6d 37 08
173
174vphaddw ymm1, ymm3			; c4 e2 75 01 cb
175vphaddw ymm1, yword [rax]		; c4 e2 75 01 08
176vphaddw ymm1, ymm2, ymm3		; c4 e2 6d 01 cb
177vphaddw ymm1, ymm2, yword [rax]		; c4 e2 6d 01 08
178
179vphaddd ymm1, ymm3			; c4 e2 75 02 cb
180vphaddd ymm1, yword [rax]		; c4 e2 75 02 08
181vphaddd ymm1, ymm2, ymm3		; c4 e2 6d 02 cb
182vphaddd ymm1, ymm2, yword [rax]		; c4 e2 6d 02 08
183
184vphaddsw ymm1, ymm3			; c4 e2 75 03 cb
185vphaddsw ymm1, yword [rax]		; c4 e2 75 03 08
186vphaddsw ymm1, ymm2, ymm3		; c4 e2 6d 03 cb
187vphaddsw ymm1, ymm2, yword [rax]	; c4 e2 6d 03 08
188
189vphsubw ymm1, ymm3			; c4 e2 75 05 cb
190vphsubw ymm1, yword [rax]		; c4 e2 75 05 08
191vphsubw ymm1, ymm2, ymm3		; c4 e2 6d 05 cb
192vphsubw ymm1, ymm2, yword [rax]		; c4 e2 6d 05 08
193
194vphsubd ymm1, ymm3			; c4 e2 75 06 cb
195vphsubd ymm1, yword [rax]		; c4 e2 75 06 08
196vphsubd ymm1, ymm2, ymm3		; c4 e2 6d 06 cb
197vphsubd ymm1, ymm2, yword [rax]		; c4 e2 6d 06 08
198
199vphsubsw ymm1, ymm3			; c4 e2 75 07 cb
200vphsubsw ymm1, yword [rax]		; c4 e2 75 07 08
201vphsubsw ymm1, ymm2, ymm3		; c4 e2 6d 07 cb
202vphsubsw ymm1, ymm2, yword [rax]	; c4 e2 6d 07 08
203
204vpmaddubsw ymm1, ymm3			; c4 e2 75 04 cb
205vpmaddubsw ymm1, yword [rax]		; c4 e2 75 04 08
206vpmaddubsw ymm1, ymm2, ymm3		; c4 e2 6d 04 cb
207vpmaddubsw ymm1, ymm2, yword [rax]	; c4 e2 6d 04 08
208
209vpmaddwd ymm1, ymm3			; c5 f5 f5 cb
210vpmaddwd ymm1, yword [rax]		; c5 f5 f5 08
211vpmaddwd ymm1, ymm2, ymm3		; c5 ed f5 cb
212vpmaddwd ymm1, ymm2, yword [rax]	; c5 ed f5 08
213
214vpmaxsb ymm1, ymm3			; c4 e2 75 3c cb
215vpmaxsb ymm1, yword [rax]		; c4 e2 75 3c 08
216vpmaxsb ymm1, ymm2, ymm3		; c4 e2 6d 3c cb
217vpmaxsb ymm1, ymm2, yword [rax]		; c4 e2 6d 3c 08
218
219vpmaxsw ymm1, ymm3			; c5 f5 ee cb
220vpmaxsw ymm1, yword [rax]		; c5 f5 ee 08
221vpmaxsw ymm1, ymm2, ymm3		; c5 ed ee cb
222vpmaxsw ymm1, ymm2, yword [rax]		; c5 ed ee 08
223
224vpmaxsd ymm1, ymm3			; c4 e2 75 3d cb
225vpmaxsd ymm1, yword [rax]		; c4 e2 75 3d 08
226vpmaxsd ymm1, ymm2, ymm3		; c4 e2 6d 3d cb
227vpmaxsd ymm1, ymm2, yword [rax]		; c4 e2 6d 3d 08
228
229vpmaxub ymm1, ymm3			; c5 f5 de cb
230vpmaxub ymm1, yword [rax]		; c5 f5 de 08
231vpmaxub ymm1, ymm2, ymm3		; c5 ed de cb
232vpmaxub ymm1, ymm2, yword [rax]		; c5 ed de 08
233
234vpmaxuw ymm1, ymm3			; c4 e2 75 3e cb
235vpmaxuw ymm1, yword [rax]		; c4 e2 75 3e 08
236vpmaxuw ymm1, ymm2, ymm3		; c4 e2 6d 3e cb
237vpmaxuw ymm1, ymm2, yword [rax]		; c4 e2 6d 3e 08
238
239vpmaxud ymm1, ymm3			; c4 e2 75 3f cb
240vpmaxud ymm1, yword [rax]		; c4 e2 75 3f 08
241vpmaxud ymm1, ymm2, ymm3		; c4 e2 6d 3f cb
242vpmaxud ymm1, ymm2, yword [rax]		; c4 e2 6d 3f 08
243
244vpminsb ymm1, ymm3			; c4 e2 75 38 cb
245vpminsb ymm1, yword [rax]		; c4 e2 75 38 08
246vpminsb ymm1, ymm2, ymm3		; c4 e2 6d 38 cb
247vpminsb ymm1, ymm2, yword [rax]		; c4 e2 6d 38 08
248
249vpminsw ymm1, ymm3			; c5 f5 ea cb
250vpminsw ymm1, yword [rax]		; c5 f5 ea 08
251vpminsw ymm1, ymm2, ymm3		; c5 ed ea cb
252vpminsw ymm1, ymm2, yword [rax]		; c5 ed ea 08
253
254vpminsd ymm1, ymm3			; c4 e2 75 39 cb
255vpminsd ymm1, yword [rax]		; c4 e2 75 39 08
256vpminsd ymm1, ymm2, ymm3		; c4 e2 6d 39 cb
257vpminsd ymm1, ymm2, yword [rax]		; c4 e2 6d 39 08
258
259vpminub ymm1, ymm3			; c5 f5 da cb
260vpminub ymm1, yword [rax]		; c5 f5 da 08
261vpminub ymm1, ymm2, ymm3		; c5 ed da cb
262vpminub ymm1, ymm2, yword [rax]		; c5 ed da 08
263
264vpminuw ymm1, ymm3			; c4 e2 75 3a cb
265vpminuw ymm1, yword [rax]		; c4 e2 75 3a 08
266vpminuw ymm1, ymm2, ymm3		; c4 e2 6d 3a cb
267vpminuw ymm1, ymm2, yword [rax]		; c4 e2 6d 3a 08
268
269vpminud ymm1, ymm3			; c4 e2 75 3b cb
270vpminud ymm1, yword [rax]		; c4 e2 75 3b 08
271vpminud ymm1, ymm2, ymm3		; c4 e2 6d 3b cb
272vpminud ymm1, ymm2, yword [rax]		; c4 e2 6d 3b 08
273
274vpmovmskb eax, ymm1			; c5 fd d7 c1
275vpmovmskb rax, ymm1			; c5 fd d7 c1
276
277vpmovsxbw ymm1, xmm2			; c4 e2 7d 20 ca
278vpmovsxbw ymm1, [rax]			; c4 e2 7d 20 08
279vpmovsxbw ymm1, oword [rax]		; c4 e2 7d 20 08
280
281vpmovsxbd ymm1, xmm2			; c4 e2 7d 21 ca
282vpmovsxbd ymm1, [rax]			; c4 e2 7d 21 08
283vpmovsxbd ymm1, qword [rax]		; c4 e2 7d 21 08
284
285vpmovsxbq ymm1, xmm2			; c4 e2 7d 22 ca
286vpmovsxbq ymm1, [rax]			; c4 e2 7d 22 08
287vpmovsxbq ymm1, dword [rax]		; c4 e2 7d 22 08
288
289vpmovsxwd ymm1, xmm2			; c4 e2 7d 23 ca
290vpmovsxwd ymm1, [rax]			; c4 e2 7d 23 08
291vpmovsxwd ymm1, oword [rax]		; c4 e2 7d 23 08
292
293vpmovsxwq ymm1, xmm2			; c4 e2 7d 24 ca
294vpmovsxwq ymm1, [rax]			; c4 e2 7d 24 08
295vpmovsxwq ymm1, qword [rax]		; c4 e2 7d 24 08
296
297vpmovsxdq ymm1, xmm2			; c4 e2 7d 25 ca
298vpmovsxdq ymm1, [rax]			; c4 e2 7d 25 08
299vpmovsxdq ymm1, oword [rax]		; c4 e2 7d 25 08
300
301vpmovzxbw ymm1, xmm2			; c4 e2 7d 30 ca
302vpmovzxbw ymm1, [rax]			; c4 e2 7d 30 08
303vpmovzxbw ymm1, oword [rax]		; c4 e2 7d 30 08
304
305vpmovzxbd ymm1, xmm2			; c4 e2 7d 31 ca
306vpmovzxbd ymm1, [rax]			; c4 e2 7d 31 08
307vpmovzxbd ymm1, qword [rax]		; c4 e2 7d 31 08
308
309vpmovzxbq ymm1, xmm2			; c4 e2 7d 32 ca
310vpmovzxbq ymm1, [rax]			; c4 e2 7d 32 08
311vpmovzxbq ymm1, dword [rax]		; c4 e2 7d 32 08
312
313vpmovzxwd ymm1, xmm2			; c4 e2 7d 33 ca
314vpmovzxwd ymm1, [rax]			; c4 e2 7d 33 08
315vpmovzxwd ymm1, oword [rax]		; c4 e2 7d 33 08
316
317vpmovzxwq ymm1, xmm2			; c4 e2 7d 34 ca
318vpmovzxwq ymm1, [rax]			; c4 e2 7d 34 08
319vpmovzxwq ymm1, qword [rax]		; c4 e2 7d 34 08
320
321vpmovzxdq ymm1, xmm2			; c4 e2 7d 35 ca
322vpmovzxdq ymm1, [rax]			; c4 e2 7d 35 08
323vpmovzxdq ymm1, oword [rax]		; c4 e2 7d 35 08
324
325vpmuldq ymm1, ymm3			; c4 e2 75 28 cb
326vpmuldq ymm1, yword [rax]		; c4 e2 75 28 08
327vpmuldq ymm1, ymm2, ymm3		; c4 e2 6d 28 cb
328vpmuldq ymm1, ymm2, yword [rax]		; c4 e2 6d 28 08
329
330vpmulhrsw ymm1, ymm3			; c4 e2 75 0b cb
331vpmulhrsw ymm1, yword [rax]		; c4 e2 75 0b 08
332vpmulhrsw ymm1, ymm2, ymm3		; c4 e2 6d 0b cb
333vpmulhrsw ymm1, ymm2, yword [rax]	; c4 e2 6d 0b 08
334
335vpmulhuw ymm1, ymm3			; c5 f5 e4 cb
336vpmulhuw ymm1, yword [rax]		; c5 f5 e4 08
337vpmulhuw ymm1, ymm2, ymm3		; c5 ed e4 cb
338vpmulhuw ymm1, ymm2, yword [rax]	; c5 ed e4 08
339
340vpmulhw ymm1, ymm3			; c5 f5 e5 cb
341vpmulhw ymm1, yword [rax]		; c5 f5 e5 08
342vpmulhw ymm1, ymm2, ymm3		; c5 ed e5 cb
343vpmulhw ymm1, ymm2, yword [rax]		; c5 ed e5 08
344
345vpmullw ymm1, ymm3			; c5 f5 d5 cb
346vpmullw ymm1, yword [rax]		; c5 f5 d5 08
347vpmullw ymm1, ymm2, ymm3		; c5 ed d5 cb
348vpmullw ymm1, ymm2, yword [rax]		; c5 ed d5 08
349
350vpmulld ymm1, ymm3			; c4 e2 75 40 cb
351vpmulld ymm1, yword [rax]		; c4 e2 75 40 08
352vpmulld ymm1, ymm2, ymm3		; c4 e2 6d 40 cb
353vpmulld ymm1, ymm2, yword [rax]		; c4 e2 6d 40 08
354
355vpmuludq ymm1, ymm3			; c5 f5 f4 cb
356vpmuludq ymm1, yword [rax]		; c5 f5 f4 08
357vpmuludq ymm1, ymm2, ymm3		; c5 ed f4 cb
358vpmuludq ymm1, ymm2, yword [rax]	; c5 ed f4 08
359
360vpor ymm1, ymm3				; c5 f5 eb cb
361vpor ymm1, yword [rax]			; c5 f5 eb 08
362vpor ymm1, ymm2, ymm3			; c5 ed eb cb
363vpor ymm1, ymm2, yword [rax]		; c5 ed eb 08
364
365vpsadbw ymm1, ymm3			; c5 f5 f6 cb
366vpsadbw ymm1, yword [rax]		; c5 f5 f6 08
367vpsadbw ymm1, ymm2, ymm3		; c5 ed f6 cb
368vpsadbw ymm1, ymm2, yword [rax]		; c5 ed f6 08
369
370vpshufb ymm1, ymm3			; c4 e2 75 00 cb
371vpshufb ymm1, yword [rax]		; c4 e2 75 00 08
372vpshufb ymm1, ymm2, ymm3		; c4 e2 6d 00 cb
373vpshufb ymm1, ymm2, yword [rax]		; c4 e2 6d 00 08
374
375vpshufd ymm1, ymm3, 3			; c5 fd 70 cb 03
376vpshufd ymm1, yword [rax], 3		; c5 fd 70 08 03
377
378vpshufhw ymm1, ymm3, 3			; c5 fe 70 cb 03
379vpshufhw ymm1, yword [rax], 3		; c5 fe 70 08 03
380
381vpshuflw ymm1, ymm3, 3			; c5 ff 70 cb 03
382vpshuflw ymm1, yword [rax], 3		; c5 ff 70 08 03
383
384vpsignb ymm1, ymm3			; c4 e2 75 08 cb
385vpsignb ymm1, yword [rax]		; c4 e2 75 08 08
386vpsignb ymm1, ymm2, ymm3		; c4 e2 6d 08 cb
387vpsignb ymm1, ymm2, yword [rax]		; c4 e2 6d 08 08
388
389vpsignw ymm1, ymm3			; c4 e2 75 09 cb
390vpsignw ymm1, yword [rax]		; c4 e2 75 09 08
391vpsignw ymm1, ymm2, ymm3		; c4 e2 6d 09 cb
392vpsignw ymm1, ymm2, yword [rax]		; c4 e2 6d 09 08
393
394vpsignd ymm1, ymm3			; c4 e2 75 0a cb
395vpsignd ymm1, yword [rax]		; c4 e2 75 0a 08
396vpsignd ymm1, ymm2, ymm3		; c4 e2 6d 0a cb
397vpsignd ymm1, ymm2, yword [rax]		; c4 e2 6d 0a 08
398
399vpslldq ymm1, 3				; c5 f5 73 f9 03
400vpslldq ymm1, ymm2, 3			; c5 f5 73 fa 03
401
402vpsllw ymm1, xmm3			; c5 f5 f1 cb
403vpsllw ymm1, oword [rax]		; c5 f5 f1 08
404vpsllw ymm1, 3				; c5 f5 71 f1 03
405vpsllw ymm1, ymm2, xmm3			; c5 ed f1 cb
406vpsllw ymm1, ymm2, oword [rax]		; c5 ed f1 08
407vpsllw ymm1, ymm2, 3			; c5 f5 71 f2 03
408
409vpslld ymm1, xmm3			; c5 f5 f2 cb
410vpslld ymm1, oword [rax]		; c5 f5 f2 08
411vpslld ymm1, 3				; c5 f5 72 f1 03
412vpslld ymm1, ymm2, xmm3			; c5 ed f2 cb
413vpslld ymm1, ymm2, oword [rax]		; c5 ed f2 08
414vpslld ymm1, ymm2, 3			; c5 f5 72 f2 03
415
416vpsllq ymm1, xmm3			; c5 f5 f3 cb
417vpsllq ymm1, oword [rax]		; c5 f5 f3 08
418vpsllq ymm1, 3				; c5 f5 73 f1 03
419vpsllq ymm1, ymm2, xmm3			; c5 ed f3 cb
420vpsllq ymm1, ymm2, oword [rax]		; c5 ed f3 08
421vpsllq ymm1, ymm2, 3			; c5 f5 73 f2 03
422
423vpsraw ymm1, xmm3			; c5 f5 e1 cb
424vpsraw ymm1, oword [rax]		; c5 f5 e1 08
425vpsraw ymm1, 3				; c5 f5 71 e1 03
426vpsraw ymm1, ymm2, xmm3			; c5 ed e1 cb
427vpsraw ymm1, ymm2, oword [rax]		; c5 ed e1 08
428vpsraw ymm1, ymm2, 3			; c5 f5 71 e2 03
429
430vpsrad ymm1, xmm3			; c5 f5 e2 cb
431vpsrad ymm1, oword [rax]		; c5 f5 e2 08
432vpsrad ymm1, 3				; c5 f5 72 e1 03
433vpsrad ymm1, ymm2, xmm3			; c5 ed e2 cb
434vpsrad ymm1, ymm2, oword [rax]		; c5 ed e2 08
435vpsrad ymm1, ymm2, 3			; c5 f5 72 e2 03
436
437vpsrldq ymm1, 3				; c5 f5 73 d9 03
438vpsrldq ymm1, ymm2, 3			; c5 f5 73 da 03
439
440vpsrlw ymm1, xmm3			; c5 f5 d1 cb
441vpsrlw ymm1, oword [rax]		; c5 f5 d1 08
442vpsrlw ymm1, 3				; c5 f5 71 d1 03
443vpsrlw ymm1, ymm2, xmm3			; c5 ed d1 cb
444vpsrlw ymm1, ymm2, oword [rax]		; c5 ed d1 08
445vpsrlw ymm1, ymm2, 3			; c5 f5 71 d2 03
446
447vpsrld ymm1, xmm3			; c5 f5 d2 cb
448vpsrld ymm1, oword [rax]		; c5 f5 d2 08
449vpsrld ymm1, 3				; c5 f5 72 d1 03
450vpsrld ymm1, ymm2, xmm3			; c5 ed d2 cb
451vpsrld ymm1, ymm2, oword [rax]		; c5 ed d2 08
452vpsrld ymm1, ymm2, 3			; c5 f5 72 d2 03
453
454vpsrld ymm1, xmm3			; c5 f5 d2 cb
455vpsrld ymm1, oword [rax]		; c5 f5 d2 08
456vpsrld ymm1, 3				; c5 f5 72 d1 03
457vpsrld ymm1, ymm2, xmm3			; c5 ed d2 cb
458vpsrld ymm1, ymm2, oword [rax]		; c5 ed d2 08
459vpsrld ymm1, ymm2, 3			; c5 f5 72 d2 03
460
461vpsubsb ymm1, ymm3			; c5 f5 e8 cb
462vpsubsb ymm1, yword [rax]		; c5 f5 e8 08
463vpsubsb ymm1, ymm2, ymm3		; c5 ed e8 cb
464vpsubsb ymm1, ymm2, yword [rax]		; c5 ed e8 08
465
466vpsubsw ymm1, ymm3			; c5 f5 e9 cb
467vpsubsw ymm1, yword [rax]		; c5 f5 e9 08
468vpsubsw ymm1, ymm2, ymm3		; c5 ed e9 cb
469vpsubsw ymm1, ymm2, yword [rax]		; c5 ed e9 08
470
471vpsubusb ymm1, ymm3			; c5 f5 d8 cb
472vpsubusb ymm1, yword [rax]		; c5 f5 d8 08
473vpsubusb ymm1, ymm2, ymm3		; c5 ed d8 cb
474vpsubusb ymm1, ymm2, yword [rax]	; c5 ed d8 08
475
476vpsubusw ymm1, ymm3			; c5 f5 d9 cb
477vpsubusw ymm1, yword [rax]		; c5 f5 d9 08
478vpsubusw ymm1, ymm2, ymm3		; c5 ed d9 cb
479vpsubusw ymm1, ymm2, yword [rax]	; c5 ed d9 08
480
481vpunpckhbw ymm1, ymm3			; c5 f5 68 cb
482vpunpckhbw ymm1, yword [rax]		; c5 f5 68 08
483vpunpckhbw ymm1, ymm2, ymm3		; c5 ed 68 cb
484vpunpckhbw ymm1, ymm2, yword [rax]	; c5 ed 68 08
485
486vpunpckhwd ymm1, ymm3			; c5 f5 69 cb
487vpunpckhwd ymm1, yword [rax]		; c5 f5 69 08
488vpunpckhwd ymm1, ymm2, ymm3		; c5 ed 69 cb
489vpunpckhwd ymm1, ymm2, yword [rax]	; c5 ed 69 08
490
491vpunpckhdq ymm1, ymm3			; c5 f5 6a cb
492vpunpckhdq ymm1, yword [rax]		; c5 f5 6a 08
493vpunpckhdq ymm1, ymm2, ymm3		; c5 ed 6a cb
494vpunpckhdq ymm1, ymm2, yword [rax]	; c5 ed 6a 08
495
496vpunpckhqdq ymm1, ymm3			; c5 f5 6d cb
497vpunpckhqdq ymm1, yword [rax]		; c5 f5 6d 08
498vpunpckhqdq ymm1, ymm2, ymm3		; c5 ed 6d cb
499vpunpckhqdq ymm1, ymm2, yword [rax]	; c5 ed 6d 08
500
501vpunpcklbw ymm1, ymm3			; c5 f5 60 cb
502vpunpcklbw ymm1, yword [rax]		; c5 f5 60 08
503vpunpcklbw ymm1, ymm2, ymm3		; c5 ed 60 cb
504vpunpcklbw ymm1, ymm2, yword [rax]	; c5 ed 60 08
505
506vpunpcklwd ymm1, ymm3			; c5 f5 61 cb
507vpunpcklwd ymm1, yword [rax]		; c5 f5 61 08
508vpunpcklwd ymm1, ymm2, ymm3		; c5 ed 61 cb
509vpunpcklwd ymm1, ymm2, yword [rax]	; c5 ed 61 08
510
511vpunpckldq ymm1, ymm3			; c5 f5 62 cb
512vpunpckldq ymm1, yword [rax]		; c5 f5 62 08
513vpunpckldq ymm1, ymm2, ymm3		; c5 ed 62 cb
514vpunpckldq ymm1, ymm2, yword [rax]	; c5 ed 62 08
515
516vpunpcklqdq ymm1, ymm3			; c5 f5 6c cb
517vpunpcklqdq ymm1, yword [rax]		; c5 f5 6c 08
518vpunpcklqdq ymm1, ymm2, ymm3		; c5 ed 6c cb
519vpunpcklqdq ymm1, ymm2, yword [rax]	; c5 ed 6c 08
520
521vpxor ymm1, ymm3			; c5 f5 ef cb
522vpxor ymm1, yword [rax]			; c5 f5 ef 08
523vpxor ymm1, ymm2, ymm3			; c5 ed ef cb
524vpxor ymm1, ymm2, yword [rax]		; c5 ed ef 08
525
526vmovntdqa ymm1, yword [rax]		; c4 e2 7d 2a 08
527
528vbroadcastss xmm1, xmm2			; c4 e2 79 18 ca
529vbroadcastss ymm1, xmm2			; c4 e2 7d 18 ca
530
531vbroadcastsd ymm1, xmm2			; c4 e2 7d 19 ca
532
533vbroadcasti128 ymm1, oword [rax]	; c4 e2 7d 5a 08
534
535vpblendd ymm1, ymm2, ymm3, 3		; c4 e3 6d 02 cb 03
536vpblendd ymm1, ymm2, yword [rax], 3	; c4 e3 6d 02 08 03
537
538vpbroadcastb xmm1, xmm2			; c4 e2 79 78 ca
539vpbroadcastb xmm1, byte [rax]		; c4 e2 79 78 08
540vpbroadcastb ymm1, xmm2			; c4 e2 7d 78 ca
541vpbroadcastb ymm1, byte [rax]		; c4 e2 7d 78 08
542
543vpbroadcastw xmm1, xmm2			; c4 e2 79 79 ca
544vpbroadcastw xmm1, word [rax]		; c4 e2 79 79 08
545vpbroadcastw ymm1, xmm2			; c4 e2 7d 79 ca
546vpbroadcastw ymm1, word [rax]		; c4 e2 7d 79 08
547
548vpbroadcastd xmm1, xmm2			; c4 e2 79 58 ca
549vpbroadcastd xmm1, dword [rax]		; c4 e2 79 58 08
550vpbroadcastd ymm1, xmm2			; c4 e2 7d 58 ca
551vpbroadcastd ymm1, dword [rax]		; c4 e2 7d 58 08
552
553vpbroadcastq xmm1, xmm2			; c4 e2 79 59 ca
554vpbroadcastq xmm1, qword [rax]		; c4 e2 79 59 08
555vpbroadcastq ymm1, xmm2			; c4 e2 7d 59 ca
556vpbroadcastq ymm1, qword [rax]		; c4 e2 7d 59 08
557
558vpermd ymm1, ymm2, ymm3			; c4 e2 6d 36 cb
559vpermd ymm1, ymm2, yword [rax]		; c4 e2 6d 36 08
560
561vpermpd ymm1, ymm2, 3			; c4 e3 fd 01 ca 03
562vpermpd ymm1, yword [rax], 3		; c4 e3 fd 01 08 03
563
564vpermps ymm1, ymm2, ymm3		; c4 e2 6d 16 cb
565vpermps ymm1, ymm2, yword [rax]		; c4 e2 6d 16 08
566
567vpermq ymm1, ymm2, 3			; c4 e3 fd 00 ca 03
568vpermq ymm1, yword [rax], 3		; c4 e3 fd 00 08 03
569
570vperm2i128 ymm1, ymm2, ymm3, 3		; c4 e3 6d 46 cb 03
571vperm2i128 ymm1, ymm2, yword [rax], 3	; c4 e3 6d 46 08 03
572
573vextracti128 xmm1, ymm2, 3		; c4 e3 7d 39 d1 03
574vextracti128 oword [rax], ymm2, 3	; c4 e3 7d 39 10 03
575
576vinserti128 ymm1, ymm2, xmm3, 3		; c4 e3 6d 38 cb 03
577vinserti128 ymm1, ymm2, oword [rax], 3	; c4 e3 6d 38 08 03
578
579vpmaskmovd xmm1, xmm2, oword [rax]	; c4 e2 69 8c 08
580vpmaskmovd ymm1, ymm2, yword [rax]	; c4 e2 6d 8c 08
581vpmaskmovd oword [rax], xmm1, xmm2	; c4 e2 71 8e 10
582vpmaskmovd yword [rax], ymm1, ymm2	; c4 e2 75 8e 10
583
584vpmaskmovq xmm1, xmm2, oword [rax]	; c4 e2 e9 8c 08
585vpmaskmovq ymm1, ymm2, yword [rax]	; c4 e2 ed 8c 08
586vpmaskmovq oword [rax], xmm1, xmm2	; c4 e2 f1 8e 10
587vpmaskmovq yword [rax], ymm1, ymm2	; c4 e2 f5 8e 10
588
589vpsllvd xmm1, xmm2, xmm3		; c4 e2 69 47 cb
590vpsllvd xmm1, xmm2, oword [rax]		; c4 e2 69 47 08
591vpsllvd ymm1, ymm2, ymm3		; c4 e2 6d 47 cb
592vpsllvd ymm1, ymm2, yword [rax]		; c4 e2 6d 47 08
593
594vpsllvq xmm1, xmm2, xmm3		; c4 e2 e9 47 cb
595vpsllvq xmm1, xmm2, oword [rax]		; c4 e2 e9 47 08
596vpsllvq ymm1, ymm2, ymm3		; c4 e2 ed 47 cb
597vpsllvq ymm1, ymm2, yword [rax]		; c4 e2 ed 47 08
598
599vpsravd xmm1, xmm2, xmm3		; c4 e2 69 46 cb
600vpsravd xmm1, xmm2, oword [rax]		; c4 e2 69 46 08
601vpsravd ymm1, ymm2, ymm3		; c4 e2 6d 46 cb
602vpsravd ymm1, ymm2, yword [rax]		; c4 e2 6d 46 08
603
604vpsrlvd xmm1, xmm2, xmm3		; c4 e2 69 45 cb
605vpsrlvd xmm1, xmm2, oword [rax]		; c4 e2 69 45 08
606vpsrlvd ymm1, ymm2, ymm3		; c4 e2 6d 45 cb
607vpsrlvd ymm1, ymm2, yword [rax]		; c4 e2 6d 45 08
608
609vpsrlvq xmm1, xmm2, xmm3		; c4 e2 e9 45 cb
610vpsrlvq xmm1, xmm2, oword [rax]		; c4 e2 e9 45 08
611vpsrlvq ymm1, ymm2, ymm3		; c4 e2 ed 45 cb
612vpsrlvq ymm1, ymm2, yword [rax]		; c4 e2 ed 45 08
613
614vgatherdpd xmm1, [rax+xmm1], xmm2	; c4 e2 e9 92 0c 08
615vgatherdpd xmm1, qword [rax+xmm1], xmm2	; c4 e2 e9 92 0c 08
616vgatherdpd ymm1, [rax+xmm1], ymm2	; c4 e2 ed 92 0c 08
617vgatherdpd ymm1, qword [rax+xmm1], ymm2	; c4 e2 ed 92 0c 08
618
619vgatherqpd xmm1, [rax+xmm1], xmm2	; c4 e2 e9 93 0c 08
620vgatherqpd xmm1, qword [rax+xmm1], xmm2	; c4 e2 e9 93 0c 08
621vgatherqpd ymm1, [rax+ymm1], ymm2	; c4 e2 ed 93 0c 08
622vgatherqpd ymm1, qword [rax+ymm1], ymm2	; c4 e2 ed 93 0c 08
623
624vgatherdps xmm1, [rax+xmm1], xmm2	; c4 e2 69 92 0c 08
625vgatherdps xmm1, dword [rax+xmm1], xmm2	; c4 e2 69 92 0c 08
626vgatherdps ymm1, [rax+ymm1], ymm2	; c4 e2 6d 92 0c 08
627vgatherdps ymm1, dword [rax+ymm1], ymm2	; c4 e2 6d 92 0c 08
628
629vgatherqps xmm1, [rax+xmm1], xmm2	; c4 e2 69 93 0c 08
630vgatherqps xmm1, dword [rax+xmm1], xmm2	; c4 e2 69 93 0c 08
631vgatherqps xmm1, [rax+ymm1], xmm2	; c4 e2 6d 93 0c 08
632vgatherqps xmm1, dword [rax+ymm1], xmm2	; c4 e2 6d 93 0c 08
633
634vpgatherdd xmm1, [rax+xmm1], xmm2	; c4 e2 69 90 0c 08
635vpgatherdd xmm1, dword [rax+xmm1], xmm2	; c4 e2 69 90 0c 08
636vpgatherdd ymm1, [rax+ymm1], ymm2	; c4 e2 6d 90 0c 08
637vpgatherdd ymm1, dword [rax+ymm1], ymm2	; c4 e2 6d 90 0c 08
638
639vpgatherqd xmm1, [rax+xmm1], xmm2	; c4 e2 69 91 0c 08
640vpgatherqd xmm1, dword [rax+xmm1], xmm2	; c4 e2 69 91 0c 08
641vpgatherqd xmm1, [rax+ymm1], xmm2	; c4 e2 6d 91 0c 08
642vpgatherqd xmm1, dword [rax+ymm1], xmm2	; c4 e2 6d 91 0c 08
643
644vpgatherdq xmm1, [rax+xmm1], xmm2	; c4 e2 e9 90 0c 08
645vpgatherdq xmm1, qword [rax+xmm1], xmm2	; c4 e2 e9 90 0c 08
646vpgatherdq ymm1, [rax+xmm1], ymm2	; c4 e2 ed 90 0c 08
647vpgatherdq ymm1, qword [rax+xmm1], ymm2	; c4 e2 ed 90 0c 08
648
649vpgatherqq xmm1, [rax+xmm1], xmm2	; c4 e2 e9 91 0c 08
650vpgatherqq xmm1, qword [rax+xmm1], xmm2	; c4 e2 e9 91 0c 08
651vpgatherqq ymm1, [rax+ymm1], ymm2	; c4 e2 ed 91 0c 08
652vpgatherqq ymm1, qword [rax+ymm1], ymm2	; c4 e2 ed 91 0c 08
653