VirtualBox

source: vbox/trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-4-template.mac@ 106560

Last change on this file since 106560 was 106471, checked in by vboxsync, 3 months ago

ValidationKit/bootsectors: Implement same-register testcases for [v]haddp[sd]; bugref:10658

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 29.3 KB
Line 
1; $Id: bs3-cpu-instr-4-template.mac 106471 2024-10-18 11:50:05Z vboxsync $
2;; @file
3; BS3Kit - bs3-cpu-instr-4 - SSE, AVX FPU instructions, assembly template.
4;
5
6;
7; Copyright (C) 2024 Oracle and/or its affiliates.
8;
9; This file is part of VirtualBox base platform packages, as
10; available from https://www.virtualbox.org.
11;
12; This program is free software; you can redistribute it and/or
13; modify it under the terms of the GNU General Public License
14; as published by the Free Software Foundation, in version 3 of the
15; License.
16;
17; This program is distributed in the hope that it will be useful, but
18; WITHOUT ANY WARRANTY; without even the implied warranty of
19; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20; General Public License for more details.
21;
22; You should have received a copy of the GNU General Public License
23; along with this program; if not, see <https://www.gnu.org/licenses>.
24;
25; The contents of this file may alternatively be used under the terms
26; of the Common Development and Distribution License Version 1.0
27; (CDDL), a copy of it is provided in the "COPYING.CDDL" file included
28; in the VirtualBox distribution, in which case the provisions of the
29; CDDL are applicable instead of those of the GPL.
30;
31; You may elect to license modified versions of this file under the
32; terms and conditions of either the GPL or the CDDL or both.
33;
34; SPDX-License-Identifier: GPL-3.0-only OR CDDL-1.0
35;
36
37
38;*********************************************************************************************************************************
39;* Header Files *
40;*********************************************************************************************************************************
41%include "bs3kit-template-header.mac" ; setup environment
42
43
44;*********************************************************************************************************************************
45;* External Symbols *
46;*********************************************************************************************************************************
47TMPL_BEGIN_TEXT
48
49
50;
51; Test code snippets containing code which differs between 16-bit, 32-bit
52; and 64-bit CPUs modes.
53;
54%ifdef BS3_INSTANTIATING_CMN
55
56
57;;
58; Variant on BS3_PROC_BEGIN_CMN w/ BS3_PBC_NEAR that prefixes the function
59; with an instruction length byte.
60;
61; ASSUMES the length is between the start of the function and the .again label.
62;
63 %ifndef BS3CPUINSTR4_PROC_BEGIN_CMN_DEFINED
64 %define BS3CPUINSTR4_PROC_BEGIN_CMN_DEFINED
65 %macro BS3CPUINSTR4_PROC_BEGIN_CMN 1
66 align 8, db 0cch
67 db BS3_CMN_NM(%1).again - BS3_CMN_NM(%1)
68BS3_PROC_BEGIN_CMN %1, BS3_PBC_NEAR
69 %endmacro
70 %endif ; !BS3CPUINSTR4_PROC_BEGIN_CMN_DEFINED
71
72;;
73; The EMIT_INSTR_PLUS_ICEBP macros is for creating a common function for and
74; named after a single instruction, followed by a looping ICEBP.
75;
76; This works like a prefix to the instruction invocation, only exception is that
77; instead of [fs:xBX] you write FSxBS as that's what is wanted in the name.
78;
79 %ifndef EMIT_INSTR_PLUS_ICEBP_DEFINED
80 %define EMIT_INSTR_PLUS_ICEBP_DEFINED
81
82 %macro EMIT_INSTR_PLUS_ICEBP 2
83BS3CPUINSTR4_PROC_BEGIN_CMN bs3CpuInstr4_ %+ %1 %+ _ %+ %2 %+ _icebp
84 %define FSxBX [fs:xBX]
85 %1 %2
86 %undef FSxBX
87.again:
88 icebp
89 jmp .again
90BS3_PROC_END_CMN bs3CpuInstr4_ %+ %1 %+ _ %+ %2 %+ _icebp
91 %endmacro
92
93 %macro EMIT_INSTR_PLUS_ICEBP 3
94BS3CPUINSTR4_PROC_BEGIN_CMN bs3CpuInstr4_ %+ %1 %+ _ %+ %2 %+ _ %+ %3 %+ _icebp
95 %define FSxBX [fs:xBX]
96 %1 %2, %3
97 %undef FSxBX
98.again:
99 icebp
100 jmp .again
101BS3_PROC_END_CMN bs3CpuInstr4_ %+ %1 %+ _ %+ %2 %+ _ %+ %3 %+ _icebp
102 %endmacro
103
104 %macro EMIT_INSTR_PLUS_ICEBP 4
105BS3CPUINSTR4_PROC_BEGIN_CMN bs3CpuInstr4_ %+ %1 %+ _ %+ %2 %+ _ %+ %3 %+ _ %+ %4 %+ _icebp
106 %define FSxBX [fs:xBX]
107 %1 %2, %3, %4
108 %undef FSxBX
109.again:
110 icebp
111 jmp .again
112BS3_PROC_END_CMN bs3CpuInstr4_ %+ %1 %+ _ %+ %2 %+ _ %+ %3 %+ _ %+ %4 %+ _icebp
113 %endmacro
114
115 %macro EMIT_INSTR_PLUS_ICEBP 5
116BS3CPUINSTR4_PROC_BEGIN_CMN bs3CpuInstr4_ %+ %1 %+ _ %+ %2 %+ _ %+ %3 %+ _ %+ %4 %+ _ %+ %5 %+ _icebp
117 %define FSxBX [fs:xBX]
118 %1 %2, %3, %4, %5
119 %undef FSxBX
120.again:
121 icebp
122 jmp .again
123BS3_PROC_END_CMN bs3CpuInstr4_ %+ %1 %+ _ %+ %2 %+ _ %+ %3 %+ _ %+ %4 %+ _ %+ %5 %+ _icebp
124 %endmacro
125
126 %macro EMIT_INSTR_PLUS_ICEBP_C64 2
127 %if TMPL_BITS == 64
128 EMIT_INSTR_PLUS_ICEBP %1, %2
129 %endif
130 %endmacro
131
132 %macro EMIT_INSTR_PLUS_ICEBP_C64 3
133 %if TMPL_BITS == 64
134 EMIT_INSTR_PLUS_ICEBP %1, %2, %3
135 %endif
136 %endmacro
137
138 %macro EMIT_INSTR_PLUS_ICEBP_C64 4
139 %if TMPL_BITS == 64
140 EMIT_INSTR_PLUS_ICEBP %1, %2, %3, %4
141 %endif
142 %endmacro
143
144 %macro EMIT_INSTR_PLUS_ICEBP_C64 5
145 %if TMPL_BITS == 64
146 EMIT_INSTR_PLUS_ICEBP %1, %2, %3, %4, %5
147 %endif
148 %endmacro
149
150 %endif ; !EMIT_INSTR_PLUS_ICEBP_DEFINED
151
152;
153;; [v]addps
154;
155EMIT_INSTR_PLUS_ICEBP addps, XMM1, XMM2
156EMIT_INSTR_PLUS_ICEBP addps, XMM1, FSxBX
157EMIT_INSTR_PLUS_ICEBP_C64 addps, XMM8, XMM9
158EMIT_INSTR_PLUS_ICEBP_C64 addps, XMM8, FSxBX
159
160EMIT_INSTR_PLUS_ICEBP vaddps, XMM1, XMM2, XMM3
161EMIT_INSTR_PLUS_ICEBP vaddps, XMM1, XMM2, FSxBX
162EMIT_INSTR_PLUS_ICEBP_C64 vaddps, XMM8, XMM9, XMM10
163EMIT_INSTR_PLUS_ICEBP_C64 vaddps, XMM8, XMM9, FSxBX
164
165EMIT_INSTR_PLUS_ICEBP vaddps, YMM1, YMM2, YMM3
166EMIT_INSTR_PLUS_ICEBP vaddps, YMM1, YMM2, FSxBX
167EMIT_INSTR_PLUS_ICEBP_C64 vaddps, YMM8, YMM9, YMM10
168EMIT_INSTR_PLUS_ICEBP_C64 vaddps, YMM8, YMM9, FSxBX
169
170EMIT_INSTR_PLUS_ICEBP addps, XMM1, XMM1
171EMIT_INSTR_PLUS_ICEBP_C64 addps, XMM8, XMM8
172EMIT_INSTR_PLUS_ICEBP vaddps, YMM1, YMM1, YMM1
173EMIT_INSTR_PLUS_ICEBP vaddps, YMM1, YMM1, YMM2
174EMIT_INSTR_PLUS_ICEBP_C64 vaddps, YMM8, YMM8, YMM8
175EMIT_INSTR_PLUS_ICEBP vaddps, YMM1, YMM1, FSxBX
176
177;
178;; [v]addpd
179;
180EMIT_INSTR_PLUS_ICEBP addpd, XMM1, XMM2
181EMIT_INSTR_PLUS_ICEBP addpd, XMM1, FSxBX
182EMIT_INSTR_PLUS_ICEBP_C64 addpd, XMM8, XMM9
183EMIT_INSTR_PLUS_ICEBP_C64 addpd, XMM8, FSxBX
184
185EMIT_INSTR_PLUS_ICEBP vaddpd, XMM1, XMM2, XMM3
186EMIT_INSTR_PLUS_ICEBP vaddpd, XMM1, XMM2, FSxBX
187EMIT_INSTR_PLUS_ICEBP_C64 vaddpd, XMM8, XMM9, XMM10
188EMIT_INSTR_PLUS_ICEBP_C64 vaddpd, XMM8, XMM9, FSxBX
189
190EMIT_INSTR_PLUS_ICEBP vaddpd, YMM1, YMM2, YMM3
191EMIT_INSTR_PLUS_ICEBP vaddpd, YMM1, YMM2, FSxBX
192EMIT_INSTR_PLUS_ICEBP_C64 vaddpd, YMM8, YMM9, YMM10
193EMIT_INSTR_PLUS_ICEBP_C64 vaddpd, YMM8, YMM9, FSxBX
194
195EMIT_INSTR_PLUS_ICEBP addpd, XMM1, XMM1
196EMIT_INSTR_PLUS_ICEBP_C64 addpd, XMM8, XMM8
197EMIT_INSTR_PLUS_ICEBP vaddpd, YMM1, YMM1, YMM1
198EMIT_INSTR_PLUS_ICEBP vaddpd, YMM1, YMM1, YMM2
199EMIT_INSTR_PLUS_ICEBP_C64 vaddpd, YMM8, YMM8, YMM8
200EMIT_INSTR_PLUS_ICEBP vaddpd, YMM1, YMM1, FSxBX
201
202;
203;; [v]addss
204;
205EMIT_INSTR_PLUS_ICEBP addss, XMM1, XMM2
206EMIT_INSTR_PLUS_ICEBP addss, XMM1, FSxBX
207EMIT_INSTR_PLUS_ICEBP_C64 addss, XMM8, XMM9
208EMIT_INSTR_PLUS_ICEBP_C64 addss, XMM8, FSxBX
209
210EMIT_INSTR_PLUS_ICEBP vaddss, XMM1, XMM2, XMM3
211EMIT_INSTR_PLUS_ICEBP vaddss, XMM1, XMM2, FSxBX
212EMIT_INSTR_PLUS_ICEBP_C64 vaddss, XMM8, XMM9, XMM10
213EMIT_INSTR_PLUS_ICEBP_C64 vaddss, XMM8, XMM9, FSxBX
214
215EMIT_INSTR_PLUS_ICEBP addss, XMM1, XMM1
216EMIT_INSTR_PLUS_ICEBP_C64 addss, XMM8, XMM8
217EMIT_INSTR_PLUS_ICEBP vaddss, XMM1, XMM1, XMM1
218EMIT_INSTR_PLUS_ICEBP vaddss, XMM1, XMM1, XMM2
219EMIT_INSTR_PLUS_ICEBP_C64 vaddss, XMM8, XMM8, XMM8
220EMIT_INSTR_PLUS_ICEBP vaddss, XMM1, XMM1, FSxBX
221
222;
223;; [v]addsd
224;
225EMIT_INSTR_PLUS_ICEBP addsd, XMM1, XMM2
226EMIT_INSTR_PLUS_ICEBP addsd, XMM1, FSxBX
227EMIT_INSTR_PLUS_ICEBP_C64 addsd, XMM8, XMM9
228EMIT_INSTR_PLUS_ICEBP_C64 addsd, XMM8, FSxBX
229
230EMIT_INSTR_PLUS_ICEBP vaddsd, XMM1, XMM2, XMM3
231EMIT_INSTR_PLUS_ICEBP vaddsd, XMM1, XMM2, FSxBX
232EMIT_INSTR_PLUS_ICEBP_C64 vaddsd, XMM8, XMM9, XMM10
233EMIT_INSTR_PLUS_ICEBP_C64 vaddsd, XMM8, XMM9, FSxBX
234
235EMIT_INSTR_PLUS_ICEBP addsd, XMM1, XMM1
236EMIT_INSTR_PLUS_ICEBP_C64 addsd, XMM8, XMM8
237EMIT_INSTR_PLUS_ICEBP vaddsd, XMM1, XMM1, XMM1
238EMIT_INSTR_PLUS_ICEBP vaddsd, XMM1, XMM1, XMM2
239EMIT_INSTR_PLUS_ICEBP_C64 vaddsd, XMM8, XMM8, XMM8
240EMIT_INSTR_PLUS_ICEBP vaddsd, XMM1, XMM1, FSxBX
241
242;
243;; [v]haddps
244;
245EMIT_INSTR_PLUS_ICEBP haddps, XMM1, XMM2
246EMIT_INSTR_PLUS_ICEBP haddps, XMM1, FSxBX
247EMIT_INSTR_PLUS_ICEBP_C64 haddps, XMM8, XMM9
248EMIT_INSTR_PLUS_ICEBP_C64 haddps, XMM8, FSxBX
249
250EMIT_INSTR_PLUS_ICEBP vhaddps, XMM1, XMM2, XMM3
251EMIT_INSTR_PLUS_ICEBP vhaddps, XMM1, XMM2, FSxBX
252EMIT_INSTR_PLUS_ICEBP_C64 vhaddps, XMM8, XMM9, XMM10
253EMIT_INSTR_PLUS_ICEBP_C64 vhaddps, XMM8, XMM9, FSxBX
254
255EMIT_INSTR_PLUS_ICEBP vhaddps, YMM1, YMM2, YMM3
256EMIT_INSTR_PLUS_ICEBP vhaddps, YMM1, YMM2, FSxBX
257EMIT_INSTR_PLUS_ICEBP_C64 vhaddps, YMM8, YMM9, YMM10
258EMIT_INSTR_PLUS_ICEBP_C64 vhaddps, YMM8, YMM9, FSxBX
259
260EMIT_INSTR_PLUS_ICEBP haddps, XMM1, XMM1
261EMIT_INSTR_PLUS_ICEBP_C64 haddps, XMM8, XMM8
262EMIT_INSTR_PLUS_ICEBP vhaddps, YMM1, YMM1, YMM1
263EMIT_INSTR_PLUS_ICEBP vhaddps, YMM1, YMM1, YMM2
264EMIT_INSTR_PLUS_ICEBP_C64 vhaddps, YMM8, YMM8, YMM8
265EMIT_INSTR_PLUS_ICEBP vhaddps, YMM1, YMM1, FSxBX
266
267;
268;; [v]haddpd
269;
270EMIT_INSTR_PLUS_ICEBP haddpd, XMM1, XMM2
271EMIT_INSTR_PLUS_ICEBP haddpd, XMM1, FSxBX
272EMIT_INSTR_PLUS_ICEBP_C64 haddpd, XMM8, XMM9
273EMIT_INSTR_PLUS_ICEBP_C64 haddpd, XMM8, FSxBX
274
275EMIT_INSTR_PLUS_ICEBP vhaddpd, XMM1, XMM2, XMM3
276EMIT_INSTR_PLUS_ICEBP vhaddpd, XMM1, XMM2, FSxBX
277EMIT_INSTR_PLUS_ICEBP_C64 vhaddpd, XMM8, XMM9, XMM10
278EMIT_INSTR_PLUS_ICEBP_C64 vhaddpd, XMM8, XMM9, FSxBX
279
280EMIT_INSTR_PLUS_ICEBP vhaddpd, YMM1, YMM2, YMM3
281EMIT_INSTR_PLUS_ICEBP vhaddpd, YMM1, YMM2, FSxBX
282EMIT_INSTR_PLUS_ICEBP_C64 vhaddpd, YMM8, YMM9, YMM10
283EMIT_INSTR_PLUS_ICEBP_C64 vhaddpd, YMM8, YMM9, FSxBX
284
285EMIT_INSTR_PLUS_ICEBP haddpd, XMM1, XMM1
286EMIT_INSTR_PLUS_ICEBP_C64 haddpd, XMM8, XMM8
287EMIT_INSTR_PLUS_ICEBP vhaddpd, YMM1, YMM1, YMM1
288EMIT_INSTR_PLUS_ICEBP vhaddpd, YMM1, YMM1, YMM2
289EMIT_INSTR_PLUS_ICEBP_C64 vhaddpd, YMM8, YMM8, YMM8
290EMIT_INSTR_PLUS_ICEBP vhaddpd, YMM1, YMM1, FSxBX
291
292;
293;; [v]subps
294;
295EMIT_INSTR_PLUS_ICEBP subps, XMM1, XMM2
296EMIT_INSTR_PLUS_ICEBP subps, XMM1, FSxBX
297EMIT_INSTR_PLUS_ICEBP_C64 subps, XMM8, XMM9
298EMIT_INSTR_PLUS_ICEBP_C64 subps, XMM8, FSxBX
299
300EMIT_INSTR_PLUS_ICEBP vsubps, XMM1, XMM2, XMM3
301EMIT_INSTR_PLUS_ICEBP vsubps, XMM1, XMM2, FSxBX
302EMIT_INSTR_PLUS_ICEBP_C64 vsubps, XMM8, XMM9, XMM10
303EMIT_INSTR_PLUS_ICEBP_C64 vsubps, XMM8, XMM9, FSxBX
304
305EMIT_INSTR_PLUS_ICEBP vsubps, YMM1, YMM2, YMM3
306EMIT_INSTR_PLUS_ICEBP vsubps, YMM1, YMM2, FSxBX
307EMIT_INSTR_PLUS_ICEBP_C64 vsubps, YMM8, YMM9, YMM10
308EMIT_INSTR_PLUS_ICEBP_C64 vsubps, YMM8, YMM9, FSxBX
309
310;
311;; [v]subpd
312;
313EMIT_INSTR_PLUS_ICEBP subpd, XMM1, XMM2
314EMIT_INSTR_PLUS_ICEBP subpd, XMM1, FSxBX
315EMIT_INSTR_PLUS_ICEBP_C64 subpd, XMM8, XMM9
316EMIT_INSTR_PLUS_ICEBP_C64 subpd, XMM8, FSxBX
317
318EMIT_INSTR_PLUS_ICEBP vsubpd, XMM1, XMM2, XMM3
319EMIT_INSTR_PLUS_ICEBP vsubpd, XMM1, XMM2, FSxBX
320EMIT_INSTR_PLUS_ICEBP_C64 vsubpd, XMM8, XMM9, XMM10
321EMIT_INSTR_PLUS_ICEBP_C64 vsubpd, XMM8, XMM9, FSxBX
322
323EMIT_INSTR_PLUS_ICEBP vsubpd, YMM1, YMM2, YMM3
324EMIT_INSTR_PLUS_ICEBP vsubpd, YMM1, YMM2, FSxBX
325EMIT_INSTR_PLUS_ICEBP_C64 vsubpd, YMM8, YMM9, YMM10
326EMIT_INSTR_PLUS_ICEBP_C64 vsubpd, YMM8, YMM9, FSxBX
327
328;
329;; [v]subss
330;
331EMIT_INSTR_PLUS_ICEBP subss, XMM1, XMM2
332EMIT_INSTR_PLUS_ICEBP subss, XMM1, FSxBX
333EMIT_INSTR_PLUS_ICEBP_C64 subss, XMM8, XMM9
334EMIT_INSTR_PLUS_ICEBP_C64 subss, XMM8, FSxBX
335
336EMIT_INSTR_PLUS_ICEBP vsubss, XMM1, XMM2, XMM3
337EMIT_INSTR_PLUS_ICEBP vsubss, XMM1, XMM2, FSxBX
338EMIT_INSTR_PLUS_ICEBP_C64 vsubss, XMM8, XMM9, XMM10
339EMIT_INSTR_PLUS_ICEBP_C64 vsubss, XMM8, XMM9, FSxBX
340
341;
342;; [v]subsd
343;
344EMIT_INSTR_PLUS_ICEBP subsd, XMM1, XMM2
345EMIT_INSTR_PLUS_ICEBP subsd, XMM1, FSxBX
346EMIT_INSTR_PLUS_ICEBP_C64 subsd, XMM8, XMM9
347EMIT_INSTR_PLUS_ICEBP_C64 subsd, XMM8, FSxBX
348
349EMIT_INSTR_PLUS_ICEBP vsubsd, XMM1, XMM2, XMM3
350EMIT_INSTR_PLUS_ICEBP vsubsd, XMM1, XMM2, FSxBX
351EMIT_INSTR_PLUS_ICEBP_C64 vsubsd, XMM8, XMM9, XMM10
352EMIT_INSTR_PLUS_ICEBP_C64 vsubsd, XMM8, XMM9, FSxBX
353
354;
355;; [v]hsubps
356;
357EMIT_INSTR_PLUS_ICEBP hsubps, XMM1, XMM2
358EMIT_INSTR_PLUS_ICEBP hsubps, XMM1, FSxBX
359EMIT_INSTR_PLUS_ICEBP_C64 hsubps, XMM8, XMM9
360EMIT_INSTR_PLUS_ICEBP_C64 hsubps, XMM8, FSxBX
361
362EMIT_INSTR_PLUS_ICEBP vhsubps, XMM1, XMM2, XMM3
363EMIT_INSTR_PLUS_ICEBP vhsubps, XMM1, XMM2, FSxBX
364EMIT_INSTR_PLUS_ICEBP_C64 vhsubps, XMM8, XMM9, XMM10
365EMIT_INSTR_PLUS_ICEBP_C64 vhsubps, XMM8, XMM9, FSxBX
366
367EMIT_INSTR_PLUS_ICEBP vhsubps, YMM1, YMM2, YMM3
368EMIT_INSTR_PLUS_ICEBP vhsubps, YMM1, YMM2, FSxBX
369EMIT_INSTR_PLUS_ICEBP_C64 vhsubps, YMM8, YMM9, YMM10
370EMIT_INSTR_PLUS_ICEBP_C64 vhsubps, YMM8, YMM9, FSxBX
371
372;
373;; [v]hsubpd
374;
375EMIT_INSTR_PLUS_ICEBP hsubpd, XMM1, XMM2
376EMIT_INSTR_PLUS_ICEBP hsubpd, XMM1, FSxBX
377EMIT_INSTR_PLUS_ICEBP_C64 hsubpd, XMM8, XMM9
378EMIT_INSTR_PLUS_ICEBP_C64 hsubpd, XMM8, FSxBX
379
380EMIT_INSTR_PLUS_ICEBP vhsubpd, XMM1, XMM2, XMM3
381EMIT_INSTR_PLUS_ICEBP vhsubpd, XMM1, XMM2, FSxBX
382EMIT_INSTR_PLUS_ICEBP_C64 vhsubpd, XMM8, XMM9, XMM10
383EMIT_INSTR_PLUS_ICEBP_C64 vhsubpd, XMM8, XMM9, FSxBX
384
385EMIT_INSTR_PLUS_ICEBP vhsubpd, YMM1, YMM2, YMM3
386EMIT_INSTR_PLUS_ICEBP vhsubpd, YMM1, YMM2, FSxBX
387EMIT_INSTR_PLUS_ICEBP_C64 vhsubpd, YMM8, YMM9, YMM10
388EMIT_INSTR_PLUS_ICEBP_C64 vhsubpd, YMM8, YMM9, FSxBX
389
390;
391;; [v]mulps
392;
393EMIT_INSTR_PLUS_ICEBP mulps, XMM1, XMM2
394EMIT_INSTR_PLUS_ICEBP mulps, XMM1, FSxBX
395EMIT_INSTR_PLUS_ICEBP_C64 mulps, XMM8, XMM9
396EMIT_INSTR_PLUS_ICEBP_C64 mulps, XMM8, FSxBX
397
398EMIT_INSTR_PLUS_ICEBP vmulps, XMM1, XMM2, XMM3
399EMIT_INSTR_PLUS_ICEBP vmulps, XMM1, XMM2, FSxBX
400EMIT_INSTR_PLUS_ICEBP_C64 vmulps, XMM8, XMM9, XMM10
401EMIT_INSTR_PLUS_ICEBP_C64 vmulps, XMM8, XMM9, FSxBX
402
403EMIT_INSTR_PLUS_ICEBP vmulps, YMM1, YMM2, YMM3
404EMIT_INSTR_PLUS_ICEBP vmulps, YMM1, YMM2, FSxBX
405EMIT_INSTR_PLUS_ICEBP_C64 vmulps, YMM8, YMM9, YMM10
406EMIT_INSTR_PLUS_ICEBP_C64 vmulps, YMM8, YMM9, FSxBX
407
408;
409;; [v]mulpd
410;
411EMIT_INSTR_PLUS_ICEBP mulpd, XMM1, XMM2
412EMIT_INSTR_PLUS_ICEBP mulpd, XMM1, FSxBX
413EMIT_INSTR_PLUS_ICEBP_C64 mulpd, XMM8, XMM9
414EMIT_INSTR_PLUS_ICEBP_C64 mulpd, XMM8, FSxBX
415
416EMIT_INSTR_PLUS_ICEBP vmulpd, XMM1, XMM2, XMM3
417EMIT_INSTR_PLUS_ICEBP vmulpd, XMM1, XMM2, FSxBX
418EMIT_INSTR_PLUS_ICEBP_C64 vmulpd, XMM8, XMM9, XMM10
419EMIT_INSTR_PLUS_ICEBP_C64 vmulpd, XMM8, XMM9, FSxBX
420
421EMIT_INSTR_PLUS_ICEBP vmulpd, YMM1, YMM2, YMM3
422EMIT_INSTR_PLUS_ICEBP vmulpd, YMM1, YMM2, FSxBX
423EMIT_INSTR_PLUS_ICEBP_C64 vmulpd, YMM8, YMM9, YMM10
424EMIT_INSTR_PLUS_ICEBP_C64 vmulpd, YMM8, YMM9, FSxBX
425
426;
427;; [v]mulss
428;
429EMIT_INSTR_PLUS_ICEBP mulss, XMM1, XMM2
430EMIT_INSTR_PLUS_ICEBP mulss, XMM1, FSxBX
431EMIT_INSTR_PLUS_ICEBP_C64 mulss, XMM8, XMM9
432EMIT_INSTR_PLUS_ICEBP_C64 mulss, XMM8, FSxBX
433
434EMIT_INSTR_PLUS_ICEBP vmulss, XMM1, XMM2, XMM3
435EMIT_INSTR_PLUS_ICEBP vmulss, XMM1, XMM2, FSxBX
436EMIT_INSTR_PLUS_ICEBP_C64 vmulss, XMM8, XMM9, XMM10
437EMIT_INSTR_PLUS_ICEBP_C64 vmulss, XMM8, XMM9, FSxBX
438
439;
440;; [v]mulsd
441;
442EMIT_INSTR_PLUS_ICEBP mulsd, XMM1, XMM2
443EMIT_INSTR_PLUS_ICEBP mulsd, XMM1, FSxBX
444EMIT_INSTR_PLUS_ICEBP_C64 mulsd, XMM8, XMM9
445EMIT_INSTR_PLUS_ICEBP_C64 mulsd, XMM8, FSxBX
446
447EMIT_INSTR_PLUS_ICEBP vmulsd, XMM1, XMM2, XMM3
448EMIT_INSTR_PLUS_ICEBP vmulsd, XMM1, XMM2, FSxBX
449EMIT_INSTR_PLUS_ICEBP_C64 vmulsd, XMM8, XMM9, XMM10
450EMIT_INSTR_PLUS_ICEBP_C64 vmulsd, XMM8, XMM9, FSxBX
451
452;
453;; [v]divps
454;
455EMIT_INSTR_PLUS_ICEBP divps, XMM1, XMM2
456EMIT_INSTR_PLUS_ICEBP divps, XMM1, FSxBX
457EMIT_INSTR_PLUS_ICEBP_C64 divps, XMM8, XMM9
458EMIT_INSTR_PLUS_ICEBP_C64 divps, XMM8, FSxBX
459
460EMIT_INSTR_PLUS_ICEBP vdivps, XMM1, XMM2, XMM3
461EMIT_INSTR_PLUS_ICEBP vdivps, XMM1, XMM2, FSxBX
462EMIT_INSTR_PLUS_ICEBP_C64 vdivps, XMM8, XMM9, XMM10
463EMIT_INSTR_PLUS_ICEBP_C64 vdivps, XMM8, XMM9, FSxBX
464
465EMIT_INSTR_PLUS_ICEBP vdivps, YMM1, YMM2, YMM3
466EMIT_INSTR_PLUS_ICEBP vdivps, YMM1, YMM2, FSxBX
467EMIT_INSTR_PLUS_ICEBP_C64 vdivps, YMM8, YMM9, YMM10
468EMIT_INSTR_PLUS_ICEBP_C64 vdivps, YMM8, YMM9, FSxBX
469
470;
471;; [v]divpd
472;
473EMIT_INSTR_PLUS_ICEBP divpd, XMM1, XMM2
474EMIT_INSTR_PLUS_ICEBP divpd, XMM1, FSxBX
475EMIT_INSTR_PLUS_ICEBP_C64 divpd, XMM8, XMM9
476EMIT_INSTR_PLUS_ICEBP_C64 divpd, XMM8, FSxBX
477
478EMIT_INSTR_PLUS_ICEBP vdivpd, XMM1, XMM2, XMM3
479EMIT_INSTR_PLUS_ICEBP vdivpd, XMM1, XMM2, FSxBX
480EMIT_INSTR_PLUS_ICEBP_C64 vdivpd, XMM8, XMM9, XMM10
481EMIT_INSTR_PLUS_ICEBP_C64 vdivpd, XMM8, XMM9, FSxBX
482
483EMIT_INSTR_PLUS_ICEBP vdivpd, YMM1, YMM2, YMM3
484EMIT_INSTR_PLUS_ICEBP vdivpd, YMM1, YMM2, FSxBX
485EMIT_INSTR_PLUS_ICEBP_C64 vdivpd, YMM8, YMM9, YMM10
486EMIT_INSTR_PLUS_ICEBP_C64 vdivpd, YMM8, YMM9, FSxBX
487
488;
489;; [v]divss
490;
491EMIT_INSTR_PLUS_ICEBP divss, XMM1, XMM2
492EMIT_INSTR_PLUS_ICEBP divss, XMM1, FSxBX
493EMIT_INSTR_PLUS_ICEBP_C64 divss, XMM8, XMM9
494EMIT_INSTR_PLUS_ICEBP_C64 divss, XMM8, FSxBX
495
496EMIT_INSTR_PLUS_ICEBP vdivss, XMM1, XMM2, XMM3
497EMIT_INSTR_PLUS_ICEBP vdivss, XMM1, XMM2, FSxBX
498EMIT_INSTR_PLUS_ICEBP_C64 vdivss, XMM8, XMM9, XMM10
499EMIT_INSTR_PLUS_ICEBP_C64 vdivss, XMM8, XMM9, FSxBX
500
501;
502;; [v]divsd
503;
504EMIT_INSTR_PLUS_ICEBP divsd, XMM1, XMM2
505EMIT_INSTR_PLUS_ICEBP divsd, XMM1, FSxBX
506EMIT_INSTR_PLUS_ICEBP_C64 divsd, XMM8, XMM9
507EMIT_INSTR_PLUS_ICEBP_C64 divsd, XMM8, FSxBX
508
509EMIT_INSTR_PLUS_ICEBP vdivsd, XMM1, XMM2, XMM3
510EMIT_INSTR_PLUS_ICEBP vdivsd, XMM1, XMM2, FSxBX
511EMIT_INSTR_PLUS_ICEBP_C64 vdivsd, XMM8, XMM9, XMM10
512EMIT_INSTR_PLUS_ICEBP_C64 vdivsd, XMM8, XMM9, FSxBX
513
514;
515;; [v]addsubps
516;
517EMIT_INSTR_PLUS_ICEBP addsubps, XMM1, XMM2
518EMIT_INSTR_PLUS_ICEBP addsubps, XMM1, FSxBX
519EMIT_INSTR_PLUS_ICEBP_C64 addsubps, XMM8, XMM9
520EMIT_INSTR_PLUS_ICEBP_C64 addsubps, XMM8, FSxBX
521
522EMIT_INSTR_PLUS_ICEBP vaddsubps, XMM1, XMM2, XMM3
523EMIT_INSTR_PLUS_ICEBP vaddsubps, XMM1, XMM2, FSxBX
524EMIT_INSTR_PLUS_ICEBP_C64 vaddsubps, XMM8, XMM9, XMM10
525EMIT_INSTR_PLUS_ICEBP_C64 vaddsubps, XMM8, XMM9, FSxBX
526
527EMIT_INSTR_PLUS_ICEBP vaddsubps, YMM1, YMM2, YMM3
528EMIT_INSTR_PLUS_ICEBP vaddsubps, YMM1, YMM2, FSxBX
529EMIT_INSTR_PLUS_ICEBP_C64 vaddsubps, YMM13, YMM14, YMM15
530EMIT_INSTR_PLUS_ICEBP_C64 vaddsubps, YMM13, YMM14, FSxBX
531
532;
533;; [v]addsubpd
534;
535EMIT_INSTR_PLUS_ICEBP addsubpd, XMM1, XMM2
536EMIT_INSTR_PLUS_ICEBP addsubpd, XMM1, FSxBX
537EMIT_INSTR_PLUS_ICEBP_C64 addsubpd, XMM8, XMM9
538EMIT_INSTR_PLUS_ICEBP_C64 addsubpd, XMM8, FSxBX
539
540EMIT_INSTR_PLUS_ICEBP vaddsubpd, XMM1, XMM2, XMM3
541EMIT_INSTR_PLUS_ICEBP vaddsubpd, XMM1, XMM2, FSxBX
542EMIT_INSTR_PLUS_ICEBP_C64 vaddsubpd, XMM8, XMM9, XMM10
543EMIT_INSTR_PLUS_ICEBP_C64 vaddsubpd, XMM8, XMM9, FSxBX
544
545EMIT_INSTR_PLUS_ICEBP vaddsubpd, YMM1, YMM2, YMM3
546EMIT_INSTR_PLUS_ICEBP vaddsubpd, YMM1, YMM2, FSxBX
547EMIT_INSTR_PLUS_ICEBP_C64 vaddsubpd, YMM13, YMM14, YMM15
548EMIT_INSTR_PLUS_ICEBP_C64 vaddsubpd, YMM13, YMM14, FSxBX
549
550;
551;; [v]maxps
552;
553EMIT_INSTR_PLUS_ICEBP maxps, XMM1, XMM2
554EMIT_INSTR_PLUS_ICEBP maxps, XMM1, FSxBX
555EMIT_INSTR_PLUS_ICEBP_C64 maxps, XMM8, XMM9
556EMIT_INSTR_PLUS_ICEBP_C64 maxps, XMM8, FSxBX
557
558EMIT_INSTR_PLUS_ICEBP vmaxps, XMM1, XMM2, XMM3
559EMIT_INSTR_PLUS_ICEBP vmaxps, XMM1, XMM2, FSxBX
560EMIT_INSTR_PLUS_ICEBP_C64 vmaxps, XMM8, XMM9, XMM10
561EMIT_INSTR_PLUS_ICEBP_C64 vmaxps, XMM8, XMM9, FSxBX
562
563EMIT_INSTR_PLUS_ICEBP vmaxps, YMM1, YMM2, YMM3
564EMIT_INSTR_PLUS_ICEBP vmaxps, YMM1, YMM2, FSxBX
565EMIT_INSTR_PLUS_ICEBP_C64 vmaxps, YMM8, YMM9, YMM10
566EMIT_INSTR_PLUS_ICEBP_C64 vmaxps, YMM8, YMM9, FSxBX
567
568;
569;; [v]maxpd
570;
571EMIT_INSTR_PLUS_ICEBP maxpd, XMM1, XMM2
572EMIT_INSTR_PLUS_ICEBP maxpd, XMM1, FSxBX
573EMIT_INSTR_PLUS_ICEBP_C64 maxpd, XMM8, XMM9
574EMIT_INSTR_PLUS_ICEBP_C64 maxpd, XMM8, FSxBX
575
576EMIT_INSTR_PLUS_ICEBP vmaxpd, XMM1, XMM2, XMM3
577EMIT_INSTR_PLUS_ICEBP vmaxpd, XMM1, XMM2, FSxBX
578EMIT_INSTR_PLUS_ICEBP_C64 vmaxpd, XMM8, XMM9, XMM10
579EMIT_INSTR_PLUS_ICEBP_C64 vmaxpd, XMM8, XMM9, FSxBX
580
581EMIT_INSTR_PLUS_ICEBP vmaxpd, YMM1, YMM2, YMM3
582EMIT_INSTR_PLUS_ICEBP vmaxpd, YMM1, YMM2, FSxBX
583EMIT_INSTR_PLUS_ICEBP_C64 vmaxpd, YMM8, YMM9, YMM10
584EMIT_INSTR_PLUS_ICEBP_C64 vmaxpd, YMM8, YMM9, FSxBX
585
586;
587;; [v]maxss
588;
589EMIT_INSTR_PLUS_ICEBP maxss, XMM3, XMM4
590EMIT_INSTR_PLUS_ICEBP maxss, XMM3, FSxBX
591EMIT_INSTR_PLUS_ICEBP_C64 maxss, XMM8, XMM9
592EMIT_INSTR_PLUS_ICEBP_C64 maxss, XMM8, FSxBX
593
594EMIT_INSTR_PLUS_ICEBP vmaxss, XMM1, XMM6, XMM7
595EMIT_INSTR_PLUS_ICEBP vmaxss, XMM1, XMM6, FSxBX
596EMIT_INSTR_PLUS_ICEBP_C64 vmaxss, XMM8, XMM9, XMM10
597EMIT_INSTR_PLUS_ICEBP_C64 vmaxss, XMM8, XMM9, FSxBX
598
599;
600;; [v]maxsd
601;
602EMIT_INSTR_PLUS_ICEBP maxsd, XMM3, XMM4
603EMIT_INSTR_PLUS_ICEBP maxsd, XMM3, FSxBX
604EMIT_INSTR_PLUS_ICEBP_C64 maxsd, XMM8, XMM9
605EMIT_INSTR_PLUS_ICEBP_C64 maxsd, XMM8, FSxBX
606
607EMIT_INSTR_PLUS_ICEBP vmaxsd, XMM1, XMM6, XMM7
608EMIT_INSTR_PLUS_ICEBP vmaxsd, XMM1, XMM6, FSxBX
609EMIT_INSTR_PLUS_ICEBP_C64 vmaxsd, XMM8, XMM9, XMM10
610EMIT_INSTR_PLUS_ICEBP_C64 vmaxsd, XMM8, XMM9, FSxBX
611
612;
613;; [v]minps
614;
615EMIT_INSTR_PLUS_ICEBP minps, XMM1, XMM2
616EMIT_INSTR_PLUS_ICEBP minps, XMM1, FSxBX
617EMIT_INSTR_PLUS_ICEBP_C64 minps, XMM8, XMM9
618EMIT_INSTR_PLUS_ICEBP_C64 minps, XMM8, FSxBX
619
620EMIT_INSTR_PLUS_ICEBP vminps, XMM1, XMM2, XMM3
621EMIT_INSTR_PLUS_ICEBP vminps, XMM1, XMM2, FSxBX
622EMIT_INSTR_PLUS_ICEBP_C64 vminps, XMM8, XMM9, XMM10
623EMIT_INSTR_PLUS_ICEBP_C64 vminps, XMM8, XMM9, FSxBX
624
625EMIT_INSTR_PLUS_ICEBP vminps, YMM1, YMM2, YMM3
626EMIT_INSTR_PLUS_ICEBP vminps, YMM1, YMM2, FSxBX
627EMIT_INSTR_PLUS_ICEBP_C64 vminps, YMM8, YMM9, YMM10
628EMIT_INSTR_PLUS_ICEBP_C64 vminps, YMM8, YMM9, FSxBX
629
630;
631;; [v]minpd
632;
633EMIT_INSTR_PLUS_ICEBP minpd, XMM1, XMM2
634EMIT_INSTR_PLUS_ICEBP minpd, XMM1, FSxBX
635EMIT_INSTR_PLUS_ICEBP_C64 minpd, XMM8, XMM9
636EMIT_INSTR_PLUS_ICEBP_C64 minpd, XMM8, FSxBX
637
638EMIT_INSTR_PLUS_ICEBP vminpd, XMM1, XMM2, XMM3
639EMIT_INSTR_PLUS_ICEBP vminpd, XMM1, XMM2, FSxBX
640EMIT_INSTR_PLUS_ICEBP_C64 vminpd, XMM8, XMM9, XMM10
641EMIT_INSTR_PLUS_ICEBP_C64 vminpd, XMM8, XMM9, FSxBX
642
643EMIT_INSTR_PLUS_ICEBP vminpd, YMM1, YMM2, YMM3
644EMIT_INSTR_PLUS_ICEBP vminpd, YMM1, YMM2, FSxBX
645EMIT_INSTR_PLUS_ICEBP_C64 vminpd, YMM8, YMM9, YMM10
646EMIT_INSTR_PLUS_ICEBP_C64 vminpd, YMM8, YMM9, FSxBX
647
648;
649;; [v]minss
650;
651EMIT_INSTR_PLUS_ICEBP minss, XMM3, XMM4
652EMIT_INSTR_PLUS_ICEBP minss, XMM3, FSxBX
653EMIT_INSTR_PLUS_ICEBP_C64 minss, XMM8, XMM9
654EMIT_INSTR_PLUS_ICEBP_C64 minss, XMM8, FSxBX
655
656EMIT_INSTR_PLUS_ICEBP vminss, XMM1, XMM6, XMM7
657EMIT_INSTR_PLUS_ICEBP vminss, XMM1, XMM6, FSxBX
658EMIT_INSTR_PLUS_ICEBP_C64 vminss, XMM8, XMM9, XMM10
659EMIT_INSTR_PLUS_ICEBP_C64 vminss, XMM8, XMM9, FSxBX
660
661;
662;; [v]minsd
663;
664EMIT_INSTR_PLUS_ICEBP minsd, XMM3, XMM4
665EMIT_INSTR_PLUS_ICEBP minsd, XMM3, FSxBX
666EMIT_INSTR_PLUS_ICEBP_C64 minsd, XMM8, XMM9
667EMIT_INSTR_PLUS_ICEBP_C64 minsd, XMM8, FSxBX
668
669EMIT_INSTR_PLUS_ICEBP vminsd, XMM1, XMM6, XMM7
670EMIT_INSTR_PLUS_ICEBP vminsd, XMM1, XMM6, FSxBX
671EMIT_INSTR_PLUS_ICEBP_C64 vminsd, XMM8, XMM9, XMM10
672EMIT_INSTR_PLUS_ICEBP_C64 vminsd, XMM8, XMM9, FSxBX
673
674;
675;; [v]rcpps
676;
677EMIT_INSTR_PLUS_ICEBP rcpps, XMM1, XMM2
678EMIT_INSTR_PLUS_ICEBP rcpps, XMM1, FSxBX
679EMIT_INSTR_PLUS_ICEBP_C64 rcpps, XMM8, XMM9
680EMIT_INSTR_PLUS_ICEBP_C64 rcpps, XMM8, FSxBX
681
682EMIT_INSTR_PLUS_ICEBP vrcpps, XMM1, XMM2
683EMIT_INSTR_PLUS_ICEBP vrcpps, XMM1, FSxBX
684EMIT_INSTR_PLUS_ICEBP_C64 vrcpps, XMM8, XMM9
685EMIT_INSTR_PLUS_ICEBP_C64 vrcpps, XMM8, FSxBX
686
687EMIT_INSTR_PLUS_ICEBP vrcpps, YMM1, YMM2
688EMIT_INSTR_PLUS_ICEBP vrcpps, YMM1, FSxBX
689EMIT_INSTR_PLUS_ICEBP_C64 vrcpps, YMM8, YMM9
690EMIT_INSTR_PLUS_ICEBP_C64 vrcpps, YMM8, FSxBX
691
692;
693;; [v]rcpss
694;
695EMIT_INSTR_PLUS_ICEBP rcpss, XMM1, XMM2
696EMIT_INSTR_PLUS_ICEBP rcpss, XMM1, FSxBX
697EMIT_INSTR_PLUS_ICEBP_C64 rcpss, XMM8, XMM9
698EMIT_INSTR_PLUS_ICEBP_C64 rcpss, XMM8, FSxBX
699
700EMIT_INSTR_PLUS_ICEBP vrcpss, XMM1, XMM2, XMM3
701EMIT_INSTR_PLUS_ICEBP vrcpss, XMM1, XMM2, FSxBX
702EMIT_INSTR_PLUS_ICEBP_C64 vrcpss, XMM13, XMM14, XMM15
703EMIT_INSTR_PLUS_ICEBP_C64 vrcpss, XMM13, XMM14, FSxBX
704
705EMIT_INSTR_PLUS_ICEBP rcpss, XMM1, XMM1
706EMIT_INSTR_PLUS_ICEBP vrcpss, XMM1, XMM1, XMM1
707EMIT_INSTR_PLUS_ICEBP vrcpss, XMM1, XMM1, XMM2
708EMIT_INSTR_PLUS_ICEBP vrcpss, XMM1, XMM2, XMM2
709EMIT_INSTR_PLUS_ICEBP vrcpss, XMM1, XMM1, FSxBX
710EMIT_INSTR_PLUS_ICEBP_C64 vrcpss, XMM15, XMM15, XMM15
711EMIT_INSTR_PLUS_ICEBP_C64 vrcpss, XMM15, XMM15, XMM13
712EMIT_INSTR_PLUS_ICEBP_C64 vrcpss, XMM13, XMM14, XMM14
713
714;
715;; [v]sqrtps
716;
717EMIT_INSTR_PLUS_ICEBP sqrtps, XMM1, XMM2
718EMIT_INSTR_PLUS_ICEBP sqrtps, XMM1, FSxBX
719EMIT_INSTR_PLUS_ICEBP_C64 sqrtps, XMM8, XMM9
720EMIT_INSTR_PLUS_ICEBP_C64 sqrtps, XMM8, FSxBX
721
722EMIT_INSTR_PLUS_ICEBP vsqrtps, XMM1, XMM2
723EMIT_INSTR_PLUS_ICEBP vsqrtps, XMM1, FSxBX
724EMIT_INSTR_PLUS_ICEBP_C64 vsqrtps, XMM8, XMM9
725EMIT_INSTR_PLUS_ICEBP_C64 vsqrtps, XMM8, FSxBX
726
727EMIT_INSTR_PLUS_ICEBP vsqrtps, YMM1, YMM2
728EMIT_INSTR_PLUS_ICEBP vsqrtps, YMM1, FSxBX
729EMIT_INSTR_PLUS_ICEBP_C64 vsqrtps, YMM8, YMM9
730EMIT_INSTR_PLUS_ICEBP_C64 vsqrtps, YMM8, FSxBX
731
732EMIT_INSTR_PLUS_ICEBP sqrtps, XMM1, XMM1
733EMIT_INSTR_PLUS_ICEBP_C64 sqrtps, XMM8, XMM8
734EMIT_INSTR_PLUS_ICEBP vsqrtps, XMM1, XMM1
735EMIT_INSTR_PLUS_ICEBP vsqrtps, YMM1, YMM1
736EMIT_INSTR_PLUS_ICEBP_C64 vsqrtps, YMM8, YMM8
737
738;
739;; [v]sqrtpd
740;
741EMIT_INSTR_PLUS_ICEBP sqrtpd, XMM1, XMM2
742EMIT_INSTR_PLUS_ICEBP sqrtpd, XMM1, FSxBX
743EMIT_INSTR_PLUS_ICEBP_C64 sqrtpd, XMM8, XMM9
744EMIT_INSTR_PLUS_ICEBP_C64 sqrtpd, XMM8, FSxBX
745
746EMIT_INSTR_PLUS_ICEBP vsqrtpd, XMM1, XMM2
747EMIT_INSTR_PLUS_ICEBP vsqrtpd, XMM1, FSxBX
748EMIT_INSTR_PLUS_ICEBP_C64 vsqrtpd, XMM8, XMM9
749EMIT_INSTR_PLUS_ICEBP_C64 vsqrtpd, XMM8, FSxBX
750
751EMIT_INSTR_PLUS_ICEBP vsqrtpd, YMM1, YMM2
752EMIT_INSTR_PLUS_ICEBP vsqrtpd, YMM1, FSxBX
753EMIT_INSTR_PLUS_ICEBP_C64 vsqrtpd, YMM8, YMM9
754EMIT_INSTR_PLUS_ICEBP_C64 vsqrtpd, YMM8, FSxBX
755
756EMIT_INSTR_PLUS_ICEBP sqrtpd, XMM1, XMM1
757EMIT_INSTR_PLUS_ICEBP_C64 sqrtpd, XMM8, XMM8
758EMIT_INSTR_PLUS_ICEBP vsqrtpd, XMM1, XMM1
759EMIT_INSTR_PLUS_ICEBP vsqrtpd, YMM1, YMM1
760EMIT_INSTR_PLUS_ICEBP_C64 vsqrtpd, YMM8, YMM8
761
762;
763;; [v]sqrtss
764;
765EMIT_INSTR_PLUS_ICEBP sqrtss, XMM1, XMM2
766EMIT_INSTR_PLUS_ICEBP sqrtss, XMM1, FSxBX
767EMIT_INSTR_PLUS_ICEBP_C64 sqrtss, XMM8, XMM9
768EMIT_INSTR_PLUS_ICEBP_C64 sqrtss, XMM8, FSxBX
769
770EMIT_INSTR_PLUS_ICEBP vsqrtss, XMM1, XMM2, XMM3
771EMIT_INSTR_PLUS_ICEBP vsqrtss, XMM1, XMM2, FSxBX
772EMIT_INSTR_PLUS_ICEBP_C64 vsqrtss, XMM8, XMM9, XMM10
773EMIT_INSTR_PLUS_ICEBP_C64 vsqrtss, XMM8, XMM9, FSxBX
774
775EMIT_INSTR_PLUS_ICEBP sqrtss, XMM1, XMM1
776EMIT_INSTR_PLUS_ICEBP_C64 sqrtss, XMM8, XMM8
777EMIT_INSTR_PLUS_ICEBP vsqrtss, XMM1, XMM1, XMM1
778EMIT_INSTR_PLUS_ICEBP vsqrtss, XMM1, XMM1, XMM2
779EMIT_INSTR_PLUS_ICEBP vsqrtss, XMM1, XMM2, XMM2
780EMIT_INSTR_PLUS_ICEBP_C64 vsqrtss, XMM8, XMM8, XMM8
781EMIT_INSTR_PLUS_ICEBP vsqrtss, XMM1, XMM1, FSxBX
782
783;
784;; [v]sqrtsd
785;
786EMIT_INSTR_PLUS_ICEBP sqrtsd, XMM1, XMM2
787EMIT_INSTR_PLUS_ICEBP sqrtsd, XMM1, FSxBX
788EMIT_INSTR_PLUS_ICEBP_C64 sqrtsd, XMM8, XMM9
789EMIT_INSTR_PLUS_ICEBP_C64 sqrtsd, XMM8, FSxBX
790
791EMIT_INSTR_PLUS_ICEBP vsqrtsd, XMM1, XMM2, XMM3
792EMIT_INSTR_PLUS_ICEBP vsqrtsd, XMM1, XMM2, FSxBX
793EMIT_INSTR_PLUS_ICEBP_C64 vsqrtsd, XMM8, XMM9, XMM10
794EMIT_INSTR_PLUS_ICEBP_C64 vsqrtsd, XMM8, XMM9, FSxBX
795
796EMIT_INSTR_PLUS_ICEBP sqrtsd, XMM1, XMM1
797EMIT_INSTR_PLUS_ICEBP_C64 sqrtsd, XMM8, XMM8
798EMIT_INSTR_PLUS_ICEBP vsqrtsd, XMM1, XMM1, XMM1
799EMIT_INSTR_PLUS_ICEBP vsqrtsd, XMM1, XMM1, XMM2
800EMIT_INSTR_PLUS_ICEBP vsqrtsd, XMM1, XMM2, XMM2
801EMIT_INSTR_PLUS_ICEBP_C64 vsqrtsd, XMM8, XMM8, XMM8
802EMIT_INSTR_PLUS_ICEBP vsqrtsd, XMM1, XMM1, FSxBX
803
804;
805;; [v]rsqrtps
806;
807EMIT_INSTR_PLUS_ICEBP rsqrtps, XMM1, XMM2
808EMIT_INSTR_PLUS_ICEBP rsqrtps, XMM1, FSxBX
809EMIT_INSTR_PLUS_ICEBP_C64 rsqrtps, XMM8, XMM9
810EMIT_INSTR_PLUS_ICEBP_C64 rsqrtps, XMM8, FSxBX
811
812EMIT_INSTR_PLUS_ICEBP vrsqrtps, XMM1, XMM2
813EMIT_INSTR_PLUS_ICEBP vrsqrtps, XMM1, FSxBX
814EMIT_INSTR_PLUS_ICEBP_C64 vrsqrtps, XMM8, XMM9
815EMIT_INSTR_PLUS_ICEBP_C64 vrsqrtps, XMM8, FSxBX
816
817EMIT_INSTR_PLUS_ICEBP vrsqrtps, YMM1, YMM2
818EMIT_INSTR_PLUS_ICEBP vrsqrtps, YMM1, FSxBX
819EMIT_INSTR_PLUS_ICEBP_C64 vrsqrtps, YMM8, YMM9
820EMIT_INSTR_PLUS_ICEBP_C64 vrsqrtps, YMM8, FSxBX
821
822EMIT_INSTR_PLUS_ICEBP rsqrtps, XMM1, XMM1
823EMIT_INSTR_PLUS_ICEBP_C64 rsqrtps, XMM8, XMM8
824EMIT_INSTR_PLUS_ICEBP vrsqrtps, XMM1, XMM1
825EMIT_INSTR_PLUS_ICEBP vrsqrtps, YMM1, YMM1
826EMIT_INSTR_PLUS_ICEBP_C64 vrsqrtps, YMM8, YMM8
827
828;
829;; [v]rsqrtss
830;
831EMIT_INSTR_PLUS_ICEBP rsqrtss, XMM1, XMM2
832EMIT_INSTR_PLUS_ICEBP rsqrtss, XMM1, FSxBX
833EMIT_INSTR_PLUS_ICEBP_C64 rsqrtss, XMM8, XMM9
834EMIT_INSTR_PLUS_ICEBP_C64 rsqrtss, XMM8, FSxBX
835
836EMIT_INSTR_PLUS_ICEBP vrsqrtss, XMM1, XMM2, XMM3
837EMIT_INSTR_PLUS_ICEBP vrsqrtss, XMM1, XMM2, FSxBX
838EMIT_INSTR_PLUS_ICEBP_C64 vrsqrtss, XMM8, XMM9, XMM10
839EMIT_INSTR_PLUS_ICEBP_C64 vrsqrtss, XMM8, XMM9, FSxBX
840
841EMIT_INSTR_PLUS_ICEBP rsqrtss, XMM1, XMM1
842EMIT_INSTR_PLUS_ICEBP vrsqrtss, XMM1, XMM1, XMM1
843EMIT_INSTR_PLUS_ICEBP vrsqrtss, XMM1, XMM1, XMM2
844EMIT_INSTR_PLUS_ICEBP vrsqrtss, XMM1, XMM2, XMM2
845EMIT_INSTR_PLUS_ICEBP vrsqrtss, XMM1, XMM1, FSxBX
846EMIT_INSTR_PLUS_ICEBP_C64 vrsqrtss, XMM8, XMM8, XMM8
847
848%endif ; BS3_INSTANTIATING_CMN
849
850%include "bs3kit-template-footer.mac" ; reset environment
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette