VirtualBox

source: vbox/trunk/src/VBox/VMM/testcase/tstIEMAImpl.h@ 96381

Last change on this file since 96381 was 96380, checked in by vboxsync, 2 years ago

VMM/testcase/tstIEMAImpl: Implement basic cvtss2sd/cvtsd2ss testcases, bugref:9898

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 45.2 KB
Line 
1/* $Id: tstIEMAImpl.h 96380 2022-08-20 19:25:42Z vboxsync $ */
2/** @file
3 * IEM Assembly Instruction Helper Testcase, Data Header File.
4 */
5
6/*
7 * Copyright (C) 2022 Oracle Corporation
8 *
9 * This file is part of VirtualBox Open Source Edition (OSE), as
10 * available from http://www.virtualbox.org. This file is free software;
11 * you can redistribute it and/or modify it under the terms of the GNU
12 * General Public License (GPL) as published by the Free Software
13 * Foundation, in version 2 as it comes in the "COPYING" file of the
14 * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
15 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
16 */
17
18#ifndef VMM_INCLUDED_SRC_testcase_tstIEMAImpl_h
19#define VMM_INCLUDED_SRC_testcase_tstIEMAImpl_h
20#ifndef RT_WITHOUT_PRAGMA_ONCE
21# pragma once
22#endif
23
24#include <iprt/types.h>
25#include <iprt/x86.h>
26
27
28/** @name Integer binary tests.
29 * @{ */
30typedef struct BINU8_TEST_T
31{
32 uint32_t fEflIn;
33 uint32_t fEflOut;
34 uint8_t uDstIn;
35 uint8_t uDstOut;
36 uint8_t uSrcIn;
37 uint8_t uMisc;
38} BINU8_TEST_T;
39
40typedef struct BINU16_TEST_T
41{
42 uint32_t fEflIn;
43 uint32_t fEflOut;
44 uint16_t uDstIn;
45 uint16_t uDstOut;
46 uint16_t uSrcIn;
47 uint16_t uMisc;
48} BINU16_TEST_T;
49
50typedef struct BINU32_TEST_T
51{
52 uint32_t fEflIn;
53 uint32_t fEflOut;
54 uint32_t uDstIn;
55 uint32_t uDstOut;
56 uint32_t uSrcIn;
57 uint32_t uMisc;
58} BINU32_TEST_T;
59
60typedef struct BINU64_TEST_T
61{
62 uint32_t fEflIn;
63 uint32_t fEflOut;
64 uint64_t uDstIn;
65 uint64_t uDstOut;
66 uint64_t uSrcIn;
67 uint64_t uMisc;
68} BINU64_TEST_T;
69/** @} */
70
71
72/** @name mult/div (PFNIEMAIMPLBINU8, PFNIEMAIMPLBINU16, PFNIEMAIMPLBINU32, PFNIEMAIMPLBINU64)
73 * @{ */
74typedef struct MULDIVU8_TEST_T
75{
76 uint32_t fEflIn;
77 uint32_t fEflOut;
78 uint16_t uDstIn;
79 uint16_t uDstOut;
80 uint8_t uSrcIn;
81 int32_t rc;
82} MULDIVU8_TEST_T;
83
84typedef struct MULDIVU16_TEST_T
85{
86 uint32_t fEflIn;
87 uint32_t fEflOut;
88 uint16_t uDst1In;
89 uint16_t uDst1Out;
90 uint16_t uDst2In;
91 uint16_t uDst2Out;
92 uint16_t uSrcIn;
93 int32_t rc;
94} MULDIVU16_TEST_T;
95
96typedef struct MULDIVU32_TEST_T
97{
98 uint32_t fEflIn;
99 uint32_t fEflOut;
100 uint32_t uDst1In;
101 uint32_t uDst1Out;
102 uint32_t uDst2In;
103 uint32_t uDst2Out;
104 uint32_t uSrcIn;
105 int32_t rc;
106} MULDIVU32_TEST_T;
107
108typedef struct MULDIVU64_TEST_T
109{
110 uint32_t fEflIn;
111 uint32_t fEflOut;
112 uint64_t uDst1In;
113 uint64_t uDst1Out;
114 uint64_t uDst2In;
115 uint64_t uDst2Out;
116 uint64_t uSrcIn;
117 int32_t rc;
118} MULDIVU64_TEST_T;
119/** @} */
120
121
122/** @name x87 FPU
123 * @{ */
124typedef struct FPU_LD_CONST_TEST_T
125{
126 uint16_t fFcw;
127 uint16_t fFswIn;
128 uint16_t fFswOut;
129 RTFLOAT80U rdResult;
130} FPU_LD_CONST_TEST_T;
131
132typedef struct FPU_R32_IN_TEST_T
133{
134 uint16_t fFcw;
135 uint16_t fFswIn;
136 uint16_t fFswOut;
137 RTFLOAT80U rdResult;
138 RTFLOAT32U InVal;
139} FPU_R32_IN_TEST_T;
140
141typedef struct FPU_R64_IN_TEST_T
142{
143 uint16_t fFcw;
144 uint16_t fFswIn;
145 uint16_t fFswOut;
146 RTFLOAT80U rdResult;
147 RTFLOAT64U InVal;
148} FPU_R64_IN_TEST_T;
149
150typedef struct FPU_R80_IN_TEST_T
151{
152 uint16_t fFcw;
153 uint16_t fFswIn;
154 uint16_t fFswOut;
155 RTFLOAT80U rdResult;
156 RTFLOAT80U InVal;
157} FPU_R80_IN_TEST_T;
158
159typedef struct FPU_I16_IN_TEST_T
160{
161 uint16_t fFcw;
162 uint16_t fFswIn;
163 uint16_t fFswOut;
164 RTFLOAT80U rdResult;
165 int16_t iInVal;
166} FPU_I16_IN_TEST_T;
167
168typedef struct FPU_I32_IN_TEST_T
169{
170 uint16_t fFcw;
171 uint16_t fFswIn;
172 uint16_t fFswOut;
173 RTFLOAT80U rdResult;
174 int32_t iInVal;
175} FPU_I32_IN_TEST_T;
176
177typedef struct FPU_I64_IN_TEST_T
178{
179 uint16_t fFcw;
180 uint16_t fFswIn;
181 uint16_t fFswOut;
182 RTFLOAT80U rdResult;
183 int64_t iInVal;
184} FPU_I64_IN_TEST_T;
185
186typedef struct FPU_D80_IN_TEST_T
187{
188 uint16_t fFcw;
189 uint16_t fFswIn;
190 uint16_t fFswOut;
191 RTFLOAT80U rdResult;
192 RTPBCD80U InVal;
193} FPU_D80_IN_TEST_T;
194
195typedef struct FPU_ST_R32_TEST_T
196{
197 uint16_t fFcw;
198 uint16_t fFswIn;
199 uint16_t fFswOut;
200 RTFLOAT80U InVal;
201 RTFLOAT32U OutVal;
202} FPU_ST_R32_TEST_T;
203
204typedef struct FPU_ST_R64_TEST_T
205{
206 uint16_t fFcw;
207 uint16_t fFswIn;
208 uint16_t fFswOut;
209 RTFLOAT80U InVal;
210 RTFLOAT64U OutVal;
211} FPU_ST_R64_TEST_T;
212
213typedef struct FPU_ST_R80_TEST_T
214{
215 uint16_t fFcw;
216 uint16_t fFswIn;
217 uint16_t fFswOut;
218 RTFLOAT80U InVal;
219 RTFLOAT80U OutVal;
220} FPU_ST_R80_TEST_T;
221
222typedef struct FPU_ST_I16_TEST_T
223{
224 uint16_t fFcw;
225 uint16_t fFswIn;
226 uint16_t fFswOut;
227 RTFLOAT80U InVal;
228 int16_t iOutVal;
229} FPU_ST_I16_TEST_T;
230
231typedef struct FPU_ST_I32_TEST_T
232{
233 uint16_t fFcw;
234 uint16_t fFswIn;
235 uint16_t fFswOut;
236 RTFLOAT80U InVal;
237 int32_t iOutVal;
238} FPU_ST_I32_TEST_T;
239
240typedef struct FPU_ST_I64_TEST_T
241{
242 uint16_t fFcw;
243 uint16_t fFswIn;
244 uint16_t fFswOut;
245 RTFLOAT80U InVal;
246 int64_t iOutVal;
247} FPU_ST_I64_TEST_T;
248
249typedef struct FPU_ST_D80_TEST_T
250{
251 uint16_t fFcw;
252 uint16_t fFswIn;
253 uint16_t fFswOut;
254 RTFLOAT80U InVal;
255 RTPBCD80U OutVal;
256} FPU_ST_D80_TEST_T;
257
258typedef struct FPU_BINARY_R80_TEST_T
259{
260 uint16_t fFcw;
261 uint16_t fFswIn;
262 uint16_t fFswOut;
263 RTFLOAT80U InVal1;
264 RTFLOAT80U InVal2;
265 RTFLOAT80U OutVal;
266} FPU_BINARY_R80_TEST_T;
267
268typedef struct FPU_BINARY_R64_TEST_T
269{
270 uint16_t fFcw;
271 uint16_t fFswIn;
272 uint16_t fFswOut;
273 RTFLOAT80U InVal1;
274 RTFLOAT64U InVal2;
275 RTFLOAT80U OutVal;
276} FPU_BINARY_R64_TEST_T;
277
278typedef struct FPU_BINARY_R32_TEST_T
279{
280 uint16_t fFcw;
281 uint16_t fFswIn;
282 uint16_t fFswOut;
283 RTFLOAT80U InVal1;
284 RTFLOAT32U InVal2;
285 RTFLOAT80U OutVal;
286} FPU_BINARY_R32_TEST_T;
287
288typedef struct FPU_BINARY_I64_TEST_T
289{
290 uint16_t fFcw;
291 uint16_t fFswIn;
292 uint16_t fFswOut;
293 RTFLOAT80U InVal1;
294 int64_t InVal2;
295 RTFLOAT80U OutVal;
296} FPU_BINARY_I64_TEST_T;
297
298typedef struct FPU_BINARY_I32_TEST_T
299{
300 uint16_t fFcw;
301 uint16_t fFswIn;
302 uint16_t fFswOut;
303 RTFLOAT80U InVal1;
304 int32_t InVal2;
305 RTFLOAT80U OutVal;
306} FPU_BINARY_I32_TEST_T;
307
308typedef struct FPU_BINARY_I16_TEST_T
309{
310 uint16_t fFcw;
311 uint16_t fFswIn;
312 uint16_t fFswOut;
313 RTFLOAT80U InVal1;
314 int16_t InVal2;
315 RTFLOAT80U OutVal;
316} FPU_BINARY_I16_TEST_T;
317
318typedef struct FPU_BINARY_EFL_R80_TEST_T
319{
320 uint16_t fFcw;
321 uint16_t fFswIn;
322 uint16_t fFswOut;
323 RTFLOAT80U InVal1;
324 RTFLOAT80U InVal2;
325 uint32_t fEflOut;
326} FPU_BINARY_EFL_R80_TEST_T;
327
328typedef struct FPU_UNARY_R80_TEST_T
329{
330 uint16_t fFcw;
331 uint16_t fFswIn;
332 uint16_t fFswOut;
333 RTFLOAT80U InVal;
334 RTFLOAT80U OutVal;
335} FPU_UNARY_R80_TEST_T;
336
337typedef struct FPU_UNARY_TWO_R80_TEST_T
338{
339 uint16_t fFcw;
340 uint16_t fFswIn;
341 uint16_t fFswOut;
342 RTFLOAT80U InVal;
343 RTFLOAT80U OutVal1;
344 RTFLOAT80U OutVal2;
345} FPU_UNARY_TWO_R80_TEST_T;
346
347typedef struct SSE_BINARY_TEST_T
348{
349 uint32_t fMxcsrIn;
350 uint32_t fMxcsrOut;
351 uint32_t au32Padding[2];
352 X86XMMREG InVal1;
353 X86XMMREG InVal2;
354 X86XMMREG OutVal;
355} SSE_BINARY_TEST_T;
356
357typedef struct SSE_BINARY_U128_R32_TEST_T
358{
359 uint32_t fMxcsrIn;
360 uint32_t fMxcsrOut;
361 uint32_t au32Padding[2];
362 X86XMMREG OutVal;
363 X86XMMREG InVal1;
364 RTFLOAT32U r32Val2;
365} SSE_BINARY_U128_R32_TEST_T;
366
367typedef struct SSE_BINARY_U128_R64_TEST_T
368{
369 uint32_t fMxcsrIn;
370 uint32_t fMxcsrOut;
371 uint32_t au32Padding[2];
372 X86XMMREG OutVal;
373 X86XMMREG InVal1;
374 RTFLOAT64U r64Val2;
375} SSE_BINARY_U128_R64_TEST_T;
376
377/** @} */
378
379
380#define TSTIEM_DEFINE_EMPTY_TEST_ARRAY(a_Type, a_Instr) \
381 extern a_Type const RT_CONCAT(g_aTests_, a_Instr)[] = { {0} }; \
382 extern uint32_t const RT_CONCAT(g_cTests_, a_Instr) = 0
383
384#define TSTIEM_DEFINE_EMPTY_TEST_ARRAY_BIN(a_Type, a_Instr) \
385 extern a_Type const RT_CONCAT(g_aTests_, a_Instr)[] = { {0} }; \
386 extern uint32_t const RT_CONCAT(g_cbTests_, a_Instr) = 0
387
388#define TSTIEM_DECLARE_TEST_ARRAY(a_szFile, a_Type, a_Instr) \
389 extern a_Type const RT_CONCAT(g_aTests_, a_Instr)[]; \
390 extern uint32_t const RT_CONCAT(g_cTests_, a_Instr)
391
392#define TSTIEM_DECLARE_TEST_ARRAY_BIN(a_szFile, a_Type, a_Instr) \
393 extern a_Type const RT_CONCAT(g_aTests_, a_Instr)[]; \
394 extern uint32_t const RT_CONCAT(g_cbTests_, a_Instr)
395
396TSTIEM_DECLARE_TEST_ARRAY(Int, BINU8_TEST_T, add_u8 );
397TSTIEM_DECLARE_TEST_ARRAY(Int, BINU8_TEST_T, add_u8_locked );
398TSTIEM_DECLARE_TEST_ARRAY(Int, BINU8_TEST_T, adc_u8 );
399TSTIEM_DECLARE_TEST_ARRAY(Int, BINU8_TEST_T, adc_u8_locked );
400TSTIEM_DECLARE_TEST_ARRAY(Int, BINU8_TEST_T, sub_u8 );
401TSTIEM_DECLARE_TEST_ARRAY(Int, BINU8_TEST_T, sub_u8_locked );
402TSTIEM_DECLARE_TEST_ARRAY(Int, BINU8_TEST_T, sbb_u8 );
403TSTIEM_DECLARE_TEST_ARRAY(Int, BINU8_TEST_T, sbb_u8_locked );
404TSTIEM_DECLARE_TEST_ARRAY(Int, BINU8_TEST_T, or_u8 );
405TSTIEM_DECLARE_TEST_ARRAY(Int, BINU8_TEST_T, or_u8_locked );
406TSTIEM_DECLARE_TEST_ARRAY(Int, BINU8_TEST_T, xor_u8 );
407TSTIEM_DECLARE_TEST_ARRAY(Int, BINU8_TEST_T, xor_u8_locked );
408TSTIEM_DECLARE_TEST_ARRAY(Int, BINU8_TEST_T, and_u8 );
409TSTIEM_DECLARE_TEST_ARRAY(Int, BINU8_TEST_T, and_u8_locked );
410TSTIEM_DECLARE_TEST_ARRAY(Int, BINU8_TEST_T, cmp_u8 );
411TSTIEM_DECLARE_TEST_ARRAY(Int, BINU8_TEST_T, test_u8 );
412
413TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, add_u16 );
414TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, add_u16_locked );
415TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, adc_u16 );
416TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, adc_u16_locked );
417TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, sub_u16 );
418TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, sub_u16_locked );
419TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, sbb_u16 );
420TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, sbb_u16_locked );
421TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, or_u16 );
422TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, or_u16_locked );
423TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, xor_u16 );
424TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, xor_u16_locked );
425TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, and_u16 );
426TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, and_u16_locked );
427TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, cmp_u16 );
428TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, test_u16 );
429TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, bt_u16 );
430TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, btc_u16 );
431TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, btc_u16_locked );
432TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, btr_u16 );
433TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, btr_u16_locked );
434TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, bts_u16 );
435TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, bts_u16_locked );
436TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, arpl );
437TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU16_TEST_T, bsf_u16_amd );
438TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU16_TEST_T, bsr_u16_amd );
439TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU16_TEST_T, imul_two_u16_amd );
440TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU16_TEST_T, bsf_u16_intel );
441TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU16_TEST_T, bsr_u16_intel );
442TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU16_TEST_T, imul_two_u16_intel );
443
444TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, add_u32 );
445TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, add_u32_locked );
446TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, adc_u32 );
447TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, adc_u32_locked );
448TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, sub_u32 );
449TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, sub_u32_locked );
450TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, sbb_u32 );
451TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, sbb_u32_locked );
452TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, or_u32 );
453TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, or_u32_locked );
454TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, xor_u32 );
455TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, xor_u32_locked );
456TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, and_u32 );
457TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, and_u32_locked );
458TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, cmp_u32 );
459TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, test_u32 );
460TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, bt_u32 );
461TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, btc_u32 );
462TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, btc_u32_locked );
463TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, btr_u32 );
464TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, btr_u32_locked );
465TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, bts_u32 );
466TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, bts_u32_locked );
467TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU32_TEST_T, bsf_u32_amd );
468TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU32_TEST_T, bsr_u32_amd );
469TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU32_TEST_T, imul_two_u32_amd );
470TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU32_TEST_T, bsf_u32_intel );
471TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU32_TEST_T, bsr_u32_intel );
472TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU32_TEST_T, imul_two_u32_intel );
473
474TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, add_u64 );
475TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, add_u64_locked );
476TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, adc_u64 );
477TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, adc_u64_locked );
478TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, sub_u64 );
479TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, sub_u64_locked );
480TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, sbb_u64 );
481TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, sbb_u64_locked );
482TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, or_u64 );
483TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, or_u64_locked );
484TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, xor_u64 );
485TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, xor_u64_locked );
486TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, and_u64 );
487TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, and_u64_locked );
488TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, cmp_u64 );
489TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, test_u64 );
490TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, bt_u64 );
491TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, btc_u64 );
492TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, btc_u64_locked );
493TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, btr_u64 );
494TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, btr_u64_locked );
495TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, bts_u64 );
496TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, bts_u64_locked );
497TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU64_TEST_T, bsf_u64_amd );
498TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU64_TEST_T, bsr_u64_amd );
499TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU64_TEST_T, imul_two_u64_amd );
500TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU64_TEST_T, bsf_u64_intel );
501TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU64_TEST_T, bsr_u64_intel );
502TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU64_TEST_T, imul_two_u64_intel );
503
504TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU16_TEST_T, shrd_u16_amd );
505TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU16_TEST_T, shld_u16_amd );
506TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU32_TEST_T, shrd_u32_amd );
507TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU32_TEST_T, shld_u32_amd );
508TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU64_TEST_T, shrd_u64_amd );
509TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU64_TEST_T, shld_u64_amd );
510TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU16_TEST_T, shrd_u16_intel );
511TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU16_TEST_T, shld_u16_intel );
512TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU32_TEST_T, shrd_u32_intel );
513TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU32_TEST_T, shld_u32_intel );
514TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU64_TEST_T, shrd_u64_intel );
515TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU64_TEST_T, shld_u64_intel );
516
517TSTIEM_DECLARE_TEST_ARRAY(Int, BINU8_TEST_T, inc_u8 );
518TSTIEM_DECLARE_TEST_ARRAY(Int, BINU8_TEST_T, inc_u8_locked );
519TSTIEM_DECLARE_TEST_ARRAY(Int, BINU8_TEST_T, dec_u8 );
520TSTIEM_DECLARE_TEST_ARRAY(Int, BINU8_TEST_T, dec_u8_locked );
521TSTIEM_DECLARE_TEST_ARRAY(Int, BINU8_TEST_T, not_u8 );
522TSTIEM_DECLARE_TEST_ARRAY(Int, BINU8_TEST_T, not_u8_locked );
523TSTIEM_DECLARE_TEST_ARRAY(Int, BINU8_TEST_T, neg_u8 );
524TSTIEM_DECLARE_TEST_ARRAY(Int, BINU8_TEST_T, neg_u8_locked );
525
526TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, inc_u16 );
527TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, inc_u16_locked );
528TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, dec_u16 );
529TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, dec_u16_locked );
530TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, not_u16 );
531TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, not_u16_locked );
532TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, neg_u16 );
533TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, neg_u16_locked );
534
535TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, inc_u32 );
536TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, inc_u32_locked );
537TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, dec_u32 );
538TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, dec_u32_locked );
539TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, not_u32 );
540TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, not_u32_locked );
541TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, neg_u32 );
542TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, neg_u32_locked );
543
544TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, inc_u64 );
545TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, inc_u64_locked );
546TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, dec_u64 );
547TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, dec_u64_locked );
548TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, not_u64 );
549TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, not_u64_locked );
550TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, neg_u64 );
551TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, neg_u64_locked );
552
553TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU8_TEST_T, rol_u8_amd );
554TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU8_TEST_T, ror_u8_amd );
555TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU8_TEST_T, rcl_u8_amd );
556TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU8_TEST_T, rcr_u8_amd );
557TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU8_TEST_T, shl_u8_amd );
558TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU8_TEST_T, shr_u8_amd );
559TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU8_TEST_T, sar_u8_amd );
560TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU8_TEST_T, rol_u8_intel );
561TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU8_TEST_T, ror_u8_intel );
562TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU8_TEST_T, rcl_u8_intel );
563TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU8_TEST_T, rcr_u8_intel );
564TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU8_TEST_T, shl_u8_intel );
565TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU8_TEST_T, shr_u8_intel );
566TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU8_TEST_T, sar_u8_intel );
567
568TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU16_TEST_T, rol_u16_amd );
569TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU16_TEST_T, ror_u16_amd );
570TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU16_TEST_T, rcl_u16_amd );
571TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU16_TEST_T, rcr_u16_amd );
572TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU16_TEST_T, shl_u16_amd );
573TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU16_TEST_T, shr_u16_amd );
574TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU16_TEST_T, sar_u16_amd );
575TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU16_TEST_T, rol_u16_intel );
576TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU16_TEST_T, ror_u16_intel );
577TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU16_TEST_T, rcl_u16_intel );
578TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU16_TEST_T, rcr_u16_intel );
579TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU16_TEST_T, shl_u16_intel );
580TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU16_TEST_T, shr_u16_intel );
581TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU16_TEST_T, sar_u16_intel );
582
583TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU32_TEST_T, rol_u32_amd );
584TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU32_TEST_T, ror_u32_amd );
585TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU32_TEST_T, rcl_u32_amd );
586TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU32_TEST_T, rcr_u32_amd );
587TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU32_TEST_T, shl_u32_amd );
588TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU32_TEST_T, shr_u32_amd );
589TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU32_TEST_T, sar_u32_amd );
590TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU32_TEST_T, rol_u32_intel );
591TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU32_TEST_T, ror_u32_intel );
592TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU32_TEST_T, rcl_u32_intel );
593TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU32_TEST_T, rcr_u32_intel );
594TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU32_TEST_T, shl_u32_intel );
595TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU32_TEST_T, shr_u32_intel );
596TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU32_TEST_T, sar_u32_intel );
597
598TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU64_TEST_T, rol_u64_amd );
599TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU64_TEST_T, ror_u64_amd );
600TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU64_TEST_T, rcl_u64_amd );
601TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU64_TEST_T, rcr_u64_amd );
602TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU64_TEST_T, shl_u64_amd );
603TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU64_TEST_T, shr_u64_amd );
604TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU64_TEST_T, sar_u64_amd );
605TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU64_TEST_T, rol_u64_intel );
606TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU64_TEST_T, ror_u64_intel );
607TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU64_TEST_T, rcl_u64_intel );
608TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU64_TEST_T, rcr_u64_intel );
609TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU64_TEST_T, shl_u64_intel );
610TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU64_TEST_T, shr_u64_intel );
611TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU64_TEST_T, sar_u64_intel );
612
613TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, MULDIVU8_TEST_T, mul_u8_amd );
614TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, MULDIVU8_TEST_T, imul_u8_amd );
615TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, MULDIVU8_TEST_T, div_u8_amd );
616TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, MULDIVU8_TEST_T, idiv_u8_amd );
617TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, MULDIVU8_TEST_T, mul_u8_intel );
618TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, MULDIVU8_TEST_T, imul_u8_intel );
619TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, MULDIVU8_TEST_T, div_u8_intel );
620TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, MULDIVU8_TEST_T, idiv_u8_intel );
621
622TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, MULDIVU16_TEST_T, mul_u16_amd );
623TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, MULDIVU16_TEST_T, imul_u16_amd );
624TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, MULDIVU16_TEST_T, div_u16_amd );
625TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, MULDIVU16_TEST_T, idiv_u16_amd );
626TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, MULDIVU16_TEST_T, mul_u16_intel );
627TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, MULDIVU16_TEST_T, imul_u16_intel );
628TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, MULDIVU16_TEST_T, div_u16_intel );
629TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, MULDIVU16_TEST_T, idiv_u16_intel );
630
631TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, MULDIVU32_TEST_T, mul_u32_amd );
632TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, MULDIVU32_TEST_T, imul_u32_amd );
633TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, MULDIVU32_TEST_T, div_u32_amd );
634TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, MULDIVU32_TEST_T, idiv_u32_amd );
635TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, MULDIVU32_TEST_T, mul_u32_intel );
636TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, MULDIVU32_TEST_T, imul_u32_intel );
637TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, MULDIVU32_TEST_T, div_u32_intel );
638TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, MULDIVU32_TEST_T, idiv_u32_intel );
639
640TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, MULDIVU64_TEST_T, mul_u64_amd );
641TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, MULDIVU64_TEST_T, imul_u64_amd );
642TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, MULDIVU64_TEST_T, div_u64_amd );
643TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, MULDIVU64_TEST_T, idiv_u64_amd );
644TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, MULDIVU64_TEST_T, mul_u64_intel );
645TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, MULDIVU64_TEST_T, imul_u64_intel );
646TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, MULDIVU64_TEST_T, div_u64_intel );
647TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, MULDIVU64_TEST_T, idiv_u64_intel );
648
649TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt, FPU_LD_CONST_TEST_T, fld1 );
650TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt, FPU_LD_CONST_TEST_T, fldl2t );
651TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt, FPU_LD_CONST_TEST_T, fldl2e );
652TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt, FPU_LD_CONST_TEST_T, fldpi );
653TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt, FPU_LD_CONST_TEST_T, fldlg2 );
654TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt, FPU_LD_CONST_TEST_T, fldln2 );
655TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt, FPU_LD_CONST_TEST_T, fldz );
656
657TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt, FPU_R80_IN_TEST_T, fld_r80_from_r80 );
658TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt, FPU_R64_IN_TEST_T, fld_r80_from_r64 );
659TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt, FPU_R32_IN_TEST_T, fld_r80_from_r32 );
660TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt, FPU_I64_IN_TEST_T, fild_r80_from_i64 );
661TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt, FPU_I32_IN_TEST_T, fild_r80_from_i32 );
662TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt, FPU_I16_IN_TEST_T, fild_r80_from_i16 );
663TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt, FPU_D80_IN_TEST_T, fld_r80_from_d80 );
664
665TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt, FPU_ST_R80_TEST_T, fst_r80_to_r80 );
666TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt, FPU_ST_R64_TEST_T, fst_r80_to_r64 );
667TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt, FPU_ST_R32_TEST_T, fst_r80_to_r32 );
668TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt, FPU_ST_I64_TEST_T, fist_r80_to_i64 );
669TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt, FPU_ST_I32_TEST_T, fist_r80_to_i32 );
670TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt, FPU_ST_I16_TEST_T, fist_r80_to_i16 );
671TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt, FPU_ST_I64_TEST_T, fistt_r80_to_i64 );
672TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt, FPU_ST_I32_TEST_T, fistt_r80_to_i32 );
673TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt-Amd, FPU_ST_I16_TEST_T, fistt_r80_to_i16_amd );
674TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt-Intel, FPU_ST_I16_TEST_T, fistt_r80_to_i16_intel );
675TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt, FPU_ST_D80_TEST_T, fst_r80_to_d80 );
676
677TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1, FPU_BINARY_R80_TEST_T, fadd_r80_by_r80 );
678TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1, FPU_BINARY_R80_TEST_T, fsub_r80_by_r80 );
679TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1, FPU_BINARY_R80_TEST_T, fsubr_r80_by_r80 );
680TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1, FPU_BINARY_R80_TEST_T, fmul_r80_by_r80 );
681TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1, FPU_BINARY_R80_TEST_T, fdiv_r80_by_r80 );
682TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1, FPU_BINARY_R80_TEST_T, fdivr_r80_by_r80 );
683TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1, FPU_BINARY_R80_TEST_T, fprem_r80_by_r80 );
684TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1, FPU_BINARY_R80_TEST_T, fprem1_r80_by_r80 );
685TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1, FPU_BINARY_R80_TEST_T, fscale_r80_by_r80 );
686TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1-Amd, FPU_BINARY_R80_TEST_T, fpatan_r80_by_r80_amd );
687TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1-Intel, FPU_BINARY_R80_TEST_T, fpatan_r80_by_r80_intel );
688TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1-Amd, FPU_BINARY_R80_TEST_T, fyl2x_r80_by_r80_amd );
689TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1-Intel, FPU_BINARY_R80_TEST_T, fyl2x_r80_by_r80_intel );
690TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1-Amd, FPU_BINARY_R80_TEST_T, fyl2xp1_r80_by_r80_amd );
691TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1-Intel, FPU_BINARY_R80_TEST_T, fyl2xp1_r80_by_r80_intel );
692
693TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_R64_TEST_T, fadd_r80_by_r64 );
694TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_R64_TEST_T, fmul_r80_by_r64 );
695TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_R64_TEST_T, fsub_r80_by_r64 );
696TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_R64_TEST_T, fsubr_r80_by_r64 );
697TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_R64_TEST_T, fdiv_r80_by_r64 );
698TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_R64_TEST_T, fdivr_r80_by_r64 );
699
700TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_R32_TEST_T, fadd_r80_by_r32 );
701TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_R32_TEST_T, fmul_r80_by_r32 );
702TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_R32_TEST_T, fsub_r80_by_r32 );
703TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_R32_TEST_T, fsubr_r80_by_r32 );
704TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_R32_TEST_T, fdiv_r80_by_r32 );
705TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_R32_TEST_T, fdivr_r80_by_r32 );
706
707TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_I32_TEST_T, fiadd_r80_by_i32 );
708TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_I32_TEST_T, fimul_r80_by_i32 );
709TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_I32_TEST_T, fisub_r80_by_i32 );
710TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_I32_TEST_T, fisubr_r80_by_i32 );
711TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_I32_TEST_T, fidiv_r80_by_i32 );
712TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_I32_TEST_T, fidivr_r80_by_i32 );
713
714TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_I16_TEST_T, fiadd_r80_by_i16 );
715TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_I16_TEST_T, fimul_r80_by_i16 );
716TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_I16_TEST_T, fisub_r80_by_i16 );
717TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_I16_TEST_T, fisubr_r80_by_i16 );
718TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_I16_TEST_T, fidiv_r80_by_i16 );
719TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_I16_TEST_T, fidivr_r80_by_i16 );
720
721TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1, FPU_BINARY_R80_TEST_T, fcom_r80_by_r80 );
722TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1, FPU_BINARY_R80_TEST_T, fucom_r80_by_r80 );
723TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_R64_TEST_T, fcom_r80_by_r64 );
724TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_R32_TEST_T, fcom_r80_by_r32 );
725TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_I32_TEST_T, ficom_r80_by_i32 );
726TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_I16_TEST_T, ficom_r80_by_i16 );
727
728TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1, FPU_BINARY_EFL_R80_TEST_T, fcomi_r80_by_r80 );
729TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1, FPU_BINARY_EFL_R80_TEST_T, fucomi_r80_by_r80 );
730
731TSTIEM_DECLARE_TEST_ARRAY(FpuOther, FPU_UNARY_R80_TEST_T, fabs_r80 );
732TSTIEM_DECLARE_TEST_ARRAY(FpuOther, FPU_UNARY_R80_TEST_T, fchs_r80 );
733TSTIEM_DECLARE_TEST_ARRAY(FpuOther-Amd, FPU_UNARY_R80_TEST_T, f2xm1_r80_amd );
734TSTIEM_DECLARE_TEST_ARRAY(FpuOther-Intel, FPU_UNARY_R80_TEST_T, f2xm1_r80_intel );
735TSTIEM_DECLARE_TEST_ARRAY(FpuOther, FPU_UNARY_R80_TEST_T, fsqrt_r80 );
736TSTIEM_DECLARE_TEST_ARRAY(FpuOther, FPU_UNARY_R80_TEST_T, frndint_r80 );
737TSTIEM_DECLARE_TEST_ARRAY(FpuOther-Amd, FPU_UNARY_R80_TEST_T, fsin_r80_amd );
738TSTIEM_DECLARE_TEST_ARRAY(FpuOther-Intel, FPU_UNARY_R80_TEST_T, fsin_r80_intel );
739TSTIEM_DECLARE_TEST_ARRAY(FpuOther-Amd, FPU_UNARY_R80_TEST_T, fcos_r80_amd );
740TSTIEM_DECLARE_TEST_ARRAY(FpuOther-Intel, FPU_UNARY_R80_TEST_T, fcos_r80_intel );
741
742TSTIEM_DECLARE_TEST_ARRAY(FpuOther, FPU_UNARY_R80_TEST_T, ftst_r80 );
743TSTIEM_DECLARE_TEST_ARRAY(FpuOther, FPU_UNARY_R80_TEST_T, fxam_r80 );
744
745TSTIEM_DECLARE_TEST_ARRAY(FpuOther-Amd, FPU_UNARY_TWO_R80_TEST_T, fptan_r80_r80_amd );
746TSTIEM_DECLARE_TEST_ARRAY(FpuOther-Intel, FPU_UNARY_TWO_R80_TEST_T, fptan_r80_r80_intel );
747TSTIEM_DECLARE_TEST_ARRAY(FpuOther, FPU_UNARY_TWO_R80_TEST_T, fxtract_r80_r80 );
748TSTIEM_DECLARE_TEST_ARRAY(FpuOther-Amd, FPU_UNARY_TWO_R80_TEST_T, fsincos_r80_r80_amd );
749TSTIEM_DECLARE_TEST_ARRAY(FpuOther-Intel, FPU_UNARY_TWO_R80_TEST_T, fsincos_r80_r80_intel );
750
751RT_C_DECLS_BEGIN
752
753TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_TEST_T, addps_u128 );
754TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_TEST_T, mulps_u128 );
755TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_TEST_T, subps_u128 );
756TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_TEST_T, minps_u128 );
757TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_TEST_T, divps_u128 );
758TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_TEST_T, maxps_u128 );
759
760TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_U128_R32_TEST_T, addss_u128_r32 );
761TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_U128_R32_TEST_T, mulss_u128_r32 );
762TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_U128_R32_TEST_T, subss_u128_r32 );
763TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_U128_R32_TEST_T, minss_u128_r32 );
764TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_U128_R32_TEST_T, divss_u128_r32 );
765TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_U128_R32_TEST_T, maxss_u128_r32 );
766TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_U128_R32_TEST_T, cvtss2sd_u128_r32 );
767
768TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_TEST_T, addpd_u128 );
769TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_TEST_T, mulpd_u128 );
770TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_TEST_T, subpd_u128 );
771TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_TEST_T, minpd_u128 );
772TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_TEST_T, divpd_u128 );
773TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_TEST_T, maxpd_u128 );
774
775TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_U128_R64_TEST_T, addsd_u128_r64 );
776TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_U128_R64_TEST_T, mulsd_u128_r64 );
777TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_U128_R64_TEST_T, subsd_u128_r64 );
778TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_U128_R64_TEST_T, minsd_u128_r64 );
779TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_U128_R64_TEST_T, divsd_u128_r64 );
780TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_U128_R64_TEST_T, maxsd_u128_r64 );
781TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_U128_R64_TEST_T, cvtsd2ss_u128_r64 );
782
783RT_C_DECLS_END
784
785#endif /* !VMM_INCLUDED_SRC_testcase_tstIEMAImpl_h */
786
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