VirtualBox

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

Last change on this file since 99897 was 98822, checked in by vboxsync, 21 months ago

VMM/testcase/tstIEMAImpl: Add testcase for pcmp{i,e}str{i,m}, bugref:9898

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 55.6 KB
Line 
1/* $Id: tstIEMAImpl.h 98822 2023-03-02 15:02:03Z vboxsync $ */
2/** @file
3 * IEM Assembly Instruction Helper Testcase, Data Header File.
4 */
5
6/*
7 * Copyright (C) 2022-2023 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 * SPDX-License-Identifier: GPL-3.0-only
26 */
27
28#ifndef VMM_INCLUDED_SRC_testcase_tstIEMAImpl_h
29#define VMM_INCLUDED_SRC_testcase_tstIEMAImpl_h
30#ifndef RT_WITHOUT_PRAGMA_ONCE
31# pragma once
32#endif
33
34#include <iprt/types.h>
35#include <iprt/x86.h>
36
37
38/** @name Integer binary tests.
39 * @{ */
40typedef struct BINU8_TEST_T
41{
42 uint32_t fEflIn;
43 uint32_t fEflOut;
44 uint8_t uDstIn;
45 uint8_t uDstOut;
46 uint8_t uSrcIn;
47 uint8_t uMisc;
48} BINU8_TEST_T;
49
50typedef struct BINU16_TEST_T
51{
52 uint32_t fEflIn;
53 uint32_t fEflOut;
54 uint16_t uDstIn;
55 uint16_t uDstOut;
56 uint16_t uSrcIn;
57 uint16_t uMisc;
58} BINU16_TEST_T;
59
60typedef struct BINU32_TEST_T
61{
62 uint32_t fEflIn;
63 uint32_t fEflOut;
64 uint32_t uDstIn;
65 uint32_t uDstOut;
66 uint32_t uSrcIn;
67 uint32_t uMisc;
68} BINU32_TEST_T;
69
70typedef struct BINU64_TEST_T
71{
72 uint32_t fEflIn;
73 uint32_t fEflOut;
74 uint64_t uDstIn;
75 uint64_t uDstOut;
76 uint64_t uSrcIn;
77 uint64_t uMisc;
78} BINU64_TEST_T;
79/** @} */
80
81
82/** @name mult/div (PFNIEMAIMPLBINU8, PFNIEMAIMPLBINU16, PFNIEMAIMPLBINU32, PFNIEMAIMPLBINU64)
83 * @{ */
84typedef struct MULDIVU8_TEST_T
85{
86 uint32_t fEflIn;
87 uint32_t fEflOut;
88 uint16_t uDstIn;
89 uint16_t uDstOut;
90 uint8_t uSrcIn;
91 int32_t rc;
92} MULDIVU8_TEST_T;
93
94typedef struct MULDIVU16_TEST_T
95{
96 uint32_t fEflIn;
97 uint32_t fEflOut;
98 uint16_t uDst1In;
99 uint16_t uDst1Out;
100 uint16_t uDst2In;
101 uint16_t uDst2Out;
102 uint16_t uSrcIn;
103 int32_t rc;
104} MULDIVU16_TEST_T;
105
106typedef struct MULDIVU32_TEST_T
107{
108 uint32_t fEflIn;
109 uint32_t fEflOut;
110 uint32_t uDst1In;
111 uint32_t uDst1Out;
112 uint32_t uDst2In;
113 uint32_t uDst2Out;
114 uint32_t uSrcIn;
115 int32_t rc;
116} MULDIVU32_TEST_T;
117
118typedef struct MULDIVU64_TEST_T
119{
120 uint32_t fEflIn;
121 uint32_t fEflOut;
122 uint64_t uDst1In;
123 uint64_t uDst1Out;
124 uint64_t uDst2In;
125 uint64_t uDst2Out;
126 uint64_t uSrcIn;
127 int32_t rc;
128} MULDIVU64_TEST_T;
129/** @} */
130
131
132/** @name x87 FPU
133 * @{ */
134typedef struct FPU_LD_CONST_TEST_T
135{
136 uint16_t fFcw;
137 uint16_t fFswIn;
138 uint16_t fFswOut;
139 RTFLOAT80U rdResult;
140} FPU_LD_CONST_TEST_T;
141
142typedef struct FPU_R32_IN_TEST_T
143{
144 uint16_t fFcw;
145 uint16_t fFswIn;
146 uint16_t fFswOut;
147 RTFLOAT80U rdResult;
148 RTFLOAT32U InVal;
149} FPU_R32_IN_TEST_T;
150
151typedef struct FPU_R64_IN_TEST_T
152{
153 uint16_t fFcw;
154 uint16_t fFswIn;
155 uint16_t fFswOut;
156 RTFLOAT80U rdResult;
157 RTFLOAT64U InVal;
158} FPU_R64_IN_TEST_T;
159
160typedef struct FPU_R80_IN_TEST_T
161{
162 uint16_t fFcw;
163 uint16_t fFswIn;
164 uint16_t fFswOut;
165 RTFLOAT80U rdResult;
166 RTFLOAT80U InVal;
167} FPU_R80_IN_TEST_T;
168
169typedef struct FPU_I16_IN_TEST_T
170{
171 uint16_t fFcw;
172 uint16_t fFswIn;
173 uint16_t fFswOut;
174 RTFLOAT80U rdResult;
175 int16_t iInVal;
176} FPU_I16_IN_TEST_T;
177
178typedef struct FPU_I32_IN_TEST_T
179{
180 uint16_t fFcw;
181 uint16_t fFswIn;
182 uint16_t fFswOut;
183 RTFLOAT80U rdResult;
184 int32_t iInVal;
185} FPU_I32_IN_TEST_T;
186
187typedef struct FPU_I64_IN_TEST_T
188{
189 uint16_t fFcw;
190 uint16_t fFswIn;
191 uint16_t fFswOut;
192 RTFLOAT80U rdResult;
193 int64_t iInVal;
194} FPU_I64_IN_TEST_T;
195
196typedef struct FPU_D80_IN_TEST_T
197{
198 uint16_t fFcw;
199 uint16_t fFswIn;
200 uint16_t fFswOut;
201 RTFLOAT80U rdResult;
202 RTPBCD80U InVal;
203} FPU_D80_IN_TEST_T;
204
205typedef struct FPU_ST_R32_TEST_T
206{
207 uint16_t fFcw;
208 uint16_t fFswIn;
209 uint16_t fFswOut;
210 RTFLOAT80U InVal;
211 RTFLOAT32U OutVal;
212} FPU_ST_R32_TEST_T;
213
214typedef struct FPU_ST_R64_TEST_T
215{
216 uint16_t fFcw;
217 uint16_t fFswIn;
218 uint16_t fFswOut;
219 RTFLOAT80U InVal;
220 RTFLOAT64U OutVal;
221} FPU_ST_R64_TEST_T;
222
223typedef struct FPU_ST_R80_TEST_T
224{
225 uint16_t fFcw;
226 uint16_t fFswIn;
227 uint16_t fFswOut;
228 RTFLOAT80U InVal;
229 RTFLOAT80U OutVal;
230} FPU_ST_R80_TEST_T;
231
232typedef struct FPU_ST_I16_TEST_T
233{
234 uint16_t fFcw;
235 uint16_t fFswIn;
236 uint16_t fFswOut;
237 RTFLOAT80U InVal;
238 int16_t iOutVal;
239} FPU_ST_I16_TEST_T;
240
241typedef struct FPU_ST_I32_TEST_T
242{
243 uint16_t fFcw;
244 uint16_t fFswIn;
245 uint16_t fFswOut;
246 RTFLOAT80U InVal;
247 int32_t iOutVal;
248} FPU_ST_I32_TEST_T;
249
250typedef struct FPU_ST_I64_TEST_T
251{
252 uint16_t fFcw;
253 uint16_t fFswIn;
254 uint16_t fFswOut;
255 RTFLOAT80U InVal;
256 int64_t iOutVal;
257} FPU_ST_I64_TEST_T;
258
259typedef struct FPU_ST_D80_TEST_T
260{
261 uint16_t fFcw;
262 uint16_t fFswIn;
263 uint16_t fFswOut;
264 RTFLOAT80U InVal;
265 RTPBCD80U OutVal;
266} FPU_ST_D80_TEST_T;
267
268typedef struct FPU_BINARY_R80_TEST_T
269{
270 uint16_t fFcw;
271 uint16_t fFswIn;
272 uint16_t fFswOut;
273 RTFLOAT80U InVal1;
274 RTFLOAT80U InVal2;
275 RTFLOAT80U OutVal;
276} FPU_BINARY_R80_TEST_T;
277
278typedef struct FPU_BINARY_R64_TEST_T
279{
280 uint16_t fFcw;
281 uint16_t fFswIn;
282 uint16_t fFswOut;
283 RTFLOAT80U InVal1;
284 RTFLOAT64U InVal2;
285 RTFLOAT80U OutVal;
286} FPU_BINARY_R64_TEST_T;
287
288typedef struct FPU_BINARY_R32_TEST_T
289{
290 uint16_t fFcw;
291 uint16_t fFswIn;
292 uint16_t fFswOut;
293 RTFLOAT80U InVal1;
294 RTFLOAT32U InVal2;
295 RTFLOAT80U OutVal;
296} FPU_BINARY_R32_TEST_T;
297
298typedef struct FPU_BINARY_I64_TEST_T
299{
300 uint16_t fFcw;
301 uint16_t fFswIn;
302 uint16_t fFswOut;
303 RTFLOAT80U InVal1;
304 int64_t InVal2;
305 RTFLOAT80U OutVal;
306} FPU_BINARY_I64_TEST_T;
307
308typedef struct FPU_BINARY_I32_TEST_T
309{
310 uint16_t fFcw;
311 uint16_t fFswIn;
312 uint16_t fFswOut;
313 RTFLOAT80U InVal1;
314 int32_t InVal2;
315 RTFLOAT80U OutVal;
316} FPU_BINARY_I32_TEST_T;
317
318typedef struct FPU_BINARY_I16_TEST_T
319{
320 uint16_t fFcw;
321 uint16_t fFswIn;
322 uint16_t fFswOut;
323 RTFLOAT80U InVal1;
324 int16_t InVal2;
325 RTFLOAT80U OutVal;
326} FPU_BINARY_I16_TEST_T;
327
328typedef struct FPU_BINARY_EFL_R80_TEST_T
329{
330 uint16_t fFcw;
331 uint16_t fFswIn;
332 uint16_t fFswOut;
333 RTFLOAT80U InVal1;
334 RTFLOAT80U InVal2;
335 uint32_t fEflOut;
336} FPU_BINARY_EFL_R80_TEST_T;
337
338typedef struct FPU_UNARY_R80_TEST_T
339{
340 uint16_t fFcw;
341 uint16_t fFswIn;
342 uint16_t fFswOut;
343 RTFLOAT80U InVal;
344 RTFLOAT80U OutVal;
345} FPU_UNARY_R80_TEST_T;
346
347typedef struct FPU_UNARY_TWO_R80_TEST_T
348{
349 uint16_t fFcw;
350 uint16_t fFswIn;
351 uint16_t fFswOut;
352 RTFLOAT80U InVal;
353 RTFLOAT80U OutVal1;
354 RTFLOAT80U OutVal2;
355} FPU_UNARY_TWO_R80_TEST_T;
356
357typedef struct SSE_BINARY_TEST_T
358{
359 uint32_t fMxcsrIn;
360 uint32_t fMxcsrOut;
361 uint32_t au32Padding[2];
362 X86XMMREG InVal1;
363 X86XMMREG InVal2;
364 X86XMMREG OutVal;
365} SSE_BINARY_TEST_T;
366
367typedef struct SSE_BINARY_U128_R32_TEST_T
368{
369 uint32_t fMxcsrIn;
370 uint32_t fMxcsrOut;
371 uint32_t au32Padding[2];
372 X86XMMREG OutVal;
373 X86XMMREG InVal1;
374 RTFLOAT32U r32Val2;
375} SSE_BINARY_U128_R32_TEST_T;
376
377typedef struct SSE_BINARY_U128_R64_TEST_T
378{
379 uint32_t fMxcsrIn;
380 uint32_t fMxcsrOut;
381 uint32_t au32Padding[2];
382 X86XMMREG OutVal;
383 X86XMMREG InVal1;
384 RTFLOAT64U r64Val2;
385} SSE_BINARY_U128_R64_TEST_T;
386
387typedef struct SSE_BINARY_I32_R64_TEST_T
388{
389 uint32_t fMxcsrIn;
390 uint32_t fMxcsrOut;
391 uint32_t u32Padding;
392 int32_t i32ValOut;
393 RTFLOAT64U r64ValIn;
394} SSE_BINARY_I32_R64_TEST_T;
395
396typedef struct SSE_BINARY_I64_R64_TEST_T
397{
398 uint32_t fMxcsrIn;
399 uint32_t fMxcsrOut;
400 int64_t i64ValOut;
401 RTFLOAT64U r64ValIn;
402} SSE_BINARY_I64_R64_TEST_T;
403
404typedef struct SSE_BINARY_I32_R32_TEST_T
405{
406 uint32_t fMxcsrIn;
407 uint32_t fMxcsrOut;
408 uint32_t u32Padding;
409 int32_t i32ValOut;
410 RTFLOAT32U r32ValIn;
411} SSE_BINARY_I32_R32_TEST_T;
412
413typedef struct SSE_BINARY_I64_R32_TEST_T
414{
415 uint32_t fMxcsrIn;
416 uint32_t fMxcsrOut;
417 int64_t i64ValOut;
418 RTFLOAT32U r32ValIn;
419} SSE_BINARY_I64_R32_TEST_T;
420
421typedef struct SSE_BINARY_R32_I32_TEST_T
422{
423 uint32_t fMxcsrIn;
424 uint32_t fMxcsrOut;
425 uint32_t u32Padding;
426 int32_t i32ValIn;
427 RTFLOAT32U r32ValOut;
428} SSE_BINARY_R32_I32_TEST_T;
429
430typedef struct SSE_BINARY_R32_I64_TEST_T
431{
432 uint32_t fMxcsrIn;
433 uint32_t fMxcsrOut;
434 int64_t i64ValIn;
435 RTFLOAT32U r32ValOut;
436} SSE_BINARY_R32_I64_TEST_T;
437
438typedef struct SSE_BINARY_R64_I32_TEST_T
439{
440 uint32_t fMxcsrIn;
441 uint32_t fMxcsrOut;
442 uint32_t u32Padding;
443 int32_t i32ValIn;
444 RTFLOAT64U r64ValOut;
445} SSE_BINARY_R64_I32_TEST_T;
446
447typedef struct SSE_BINARY_R64_I64_TEST_T
448{
449 uint32_t fMxcsrIn;
450 uint32_t fMxcsrOut;
451 int64_t i64ValIn;
452 RTFLOAT64U r64ValOut;
453} SSE_BINARY_R64_I64_TEST_T;
454
455typedef struct SSE_COMPARE_EFL_R32_R32_TEST_T
456{
457 uint32_t fMxcsrIn;
458 uint32_t fMxcsrOut;
459 uint32_t fEflIn;
460 uint32_t fEflOut;
461 RTFLOAT32U r32ValIn1;
462 RTFLOAT32U r32ValIn2;
463} SSE_COMPARE_EFL_R32_R32_TEST_T;
464
465typedef struct SSE_COMPARE_EFL_R64_R64_TEST_T
466{
467 uint32_t fMxcsrIn;
468 uint32_t fMxcsrOut;
469 uint32_t fEflIn;
470 uint32_t fEflOut;
471 RTFLOAT64U r64ValIn1;
472 RTFLOAT64U r64ValIn2;
473} SSE_COMPARE_EFL_R64_R64_TEST_T;
474
475typedef struct SSE_COMPARE_F2_XMM_IMM8_TEST_T
476{
477 uint32_t fMxcsrIn;
478 uint32_t fMxcsrOut;
479 uint8_t bImm;
480 uint8_t abPadding0[3];
481 uint32_t u32Padding1;
482 X86XMMREG InVal1;
483 X86XMMREG InVal2;
484 X86XMMREG OutVal;
485} SSE_COMPARE_F2_XMM_IMM8_TEST_T;
486
487typedef struct SSE_CONVERT_XMM_TEST_T
488{
489 uint32_t fMxcsrIn;
490 uint32_t fMxcsrOut;
491 uint32_t au32Padding[2];
492 X86XMMREG InVal;
493 X86XMMREG OutVal;
494} SSE_CONVERT_XMM_TEST_T;
495
496typedef struct SSE_CONVERT_MM_XMM_TEST_T
497{
498 uint32_t fMxcsrIn;
499 uint32_t fMxcsrOut;
500 RTUINT64U OutVal;
501 X86XMMREG InVal;
502} SSE_CONVERT_MM_XMM_TEST_T;
503
504typedef struct SSE_CONVERT_XMM_MM_TEST_T
505{
506 uint32_t fMxcsrIn;
507 uint32_t fMxcsrOut;
508 RTUINT64U InVal;
509 X86XMMREG OutVal;
510} SSE_CONVERT_XMM_MM_TEST_T;
511
512typedef struct SSE_CONVERT_MM_R32_TEST_T
513{
514 uint32_t fMxcsrIn;
515 uint32_t fMxcsrOut;
516 RTFLOAT32U ar32InVal[2];
517 RTUINT64U OutVal;
518} SSE_CONVERT_MM_R32_TEST_T;
519
520typedef struct SSE_PCMPISTRI_TEST_T
521{
522 X86XMMREG InVal1;
523 X86XMMREG InVal2;
524 uint32_t u32EcxOut;
525 uint32_t fEFlagsIn;
526 uint32_t fEFlagsOut;
527 uint8_t bImm;
528} SSE_PCMPISTRI_TEST_T;
529
530typedef struct SSE_PCMPESTRI_TEST_T
531{
532 X86XMMREG InVal1;
533 X86XMMREG InVal2;
534 uint64_t u64Rax;
535 uint64_t u64Rdx;
536 uint32_t u32EcxOut;
537 uint32_t fEFlagsIn;
538 uint32_t fEFlagsOut;
539 uint8_t bImm;
540} SSE_PCMPESTRI_TEST_T;
541
542typedef struct SSE_PCMPISTRM_TEST_T
543{
544 X86XMMREG InVal1;
545 X86XMMREG InVal2;
546 X86XMMREG OutVal;
547 uint32_t fEFlagsIn;
548 uint32_t fEFlagsOut;
549 uint8_t bImm;
550} SSE_PCMPISTRM_TEST_T;
551
552typedef struct SSE_PCMPESTRM_TEST_T
553{
554 X86XMMREG InVal1;
555 X86XMMREG InVal2;
556 X86XMMREG OutVal;
557 uint64_t u64Rax;
558 uint64_t u64Rdx;
559 uint32_t fEFlagsIn;
560 uint32_t fEFlagsOut;
561 uint8_t bImm;
562} SSE_PCMPESTRM_TEST_T;
563
564/** @} */
565
566
567#define TSTIEM_DEFINE_EMPTY_TEST_ARRAY(a_Type, a_Instr) \
568 extern a_Type const RT_CONCAT(g_aTests_, a_Instr)[] = { {0} }; \
569 extern uint32_t const RT_CONCAT(g_cTests_, a_Instr) = 0
570
571#define TSTIEM_DEFINE_EMPTY_TEST_ARRAY_BIN(a_Type, a_Instr) \
572 extern a_Type const RT_CONCAT(g_aTests_, a_Instr)[] = { {0} }; \
573 extern uint32_t const RT_CONCAT(g_cbTests_, a_Instr) = 0
574
575#define TSTIEM_DECLARE_TEST_ARRAY(a_szFile, a_Type, a_Instr) \
576 extern a_Type const RT_CONCAT(g_aTests_, a_Instr)[]; \
577 extern uint32_t const RT_CONCAT(g_cTests_, a_Instr)
578
579#define TSTIEM_DECLARE_TEST_ARRAY_BIN(a_szFile, a_Type, a_Instr) \
580 extern a_Type const RT_CONCAT(g_aTests_, a_Instr)[]; \
581 extern uint32_t const RT_CONCAT(g_cbTests_, a_Instr)
582
583TSTIEM_DECLARE_TEST_ARRAY(Int, BINU8_TEST_T, add_u8 );
584TSTIEM_DECLARE_TEST_ARRAY(Int, BINU8_TEST_T, add_u8_locked );
585TSTIEM_DECLARE_TEST_ARRAY(Int, BINU8_TEST_T, adc_u8 );
586TSTIEM_DECLARE_TEST_ARRAY(Int, BINU8_TEST_T, adc_u8_locked );
587TSTIEM_DECLARE_TEST_ARRAY(Int, BINU8_TEST_T, sub_u8 );
588TSTIEM_DECLARE_TEST_ARRAY(Int, BINU8_TEST_T, sub_u8_locked );
589TSTIEM_DECLARE_TEST_ARRAY(Int, BINU8_TEST_T, sbb_u8 );
590TSTIEM_DECLARE_TEST_ARRAY(Int, BINU8_TEST_T, sbb_u8_locked );
591TSTIEM_DECLARE_TEST_ARRAY(Int, BINU8_TEST_T, or_u8 );
592TSTIEM_DECLARE_TEST_ARRAY(Int, BINU8_TEST_T, or_u8_locked );
593TSTIEM_DECLARE_TEST_ARRAY(Int, BINU8_TEST_T, xor_u8 );
594TSTIEM_DECLARE_TEST_ARRAY(Int, BINU8_TEST_T, xor_u8_locked );
595TSTIEM_DECLARE_TEST_ARRAY(Int, BINU8_TEST_T, and_u8 );
596TSTIEM_DECLARE_TEST_ARRAY(Int, BINU8_TEST_T, and_u8_locked );
597TSTIEM_DECLARE_TEST_ARRAY(Int, BINU8_TEST_T, cmp_u8 );
598TSTIEM_DECLARE_TEST_ARRAY(Int, BINU8_TEST_T, test_u8 );
599
600TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, add_u16 );
601TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, add_u16_locked );
602TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, adc_u16 );
603TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, adc_u16_locked );
604TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, sub_u16 );
605TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, sub_u16_locked );
606TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, sbb_u16 );
607TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, sbb_u16_locked );
608TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, or_u16 );
609TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, or_u16_locked );
610TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, xor_u16 );
611TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, xor_u16_locked );
612TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, and_u16 );
613TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, and_u16_locked );
614TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, cmp_u16 );
615TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, test_u16 );
616TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, bt_u16 );
617TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, btc_u16 );
618TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, btc_u16_locked );
619TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, btr_u16 );
620TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, btr_u16_locked );
621TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, bts_u16 );
622TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, bts_u16_locked );
623TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, arpl );
624TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU16_TEST_T, bsf_u16_amd );
625TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU16_TEST_T, bsr_u16_amd );
626TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU16_TEST_T, imul_two_u16_amd );
627TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU16_TEST_T, bsf_u16_intel );
628TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU16_TEST_T, bsr_u16_intel );
629TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU16_TEST_T, imul_two_u16_intel );
630
631TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, add_u32 );
632TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, add_u32_locked );
633TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, adc_u32 );
634TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, adc_u32_locked );
635TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, sub_u32 );
636TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, sub_u32_locked );
637TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, sbb_u32 );
638TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, sbb_u32_locked );
639TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, or_u32 );
640TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, or_u32_locked );
641TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, xor_u32 );
642TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, xor_u32_locked );
643TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, and_u32 );
644TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, and_u32_locked );
645TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, cmp_u32 );
646TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, test_u32 );
647TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, bt_u32 );
648TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, btc_u32 );
649TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, btc_u32_locked );
650TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, btr_u32 );
651TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, btr_u32_locked );
652TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, bts_u32 );
653TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, bts_u32_locked );
654TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU32_TEST_T, bsf_u32_amd );
655TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU32_TEST_T, bsr_u32_amd );
656TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU32_TEST_T, imul_two_u32_amd );
657TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU32_TEST_T, bsf_u32_intel );
658TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU32_TEST_T, bsr_u32_intel );
659TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU32_TEST_T, imul_two_u32_intel );
660
661TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, add_u64 );
662TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, add_u64_locked );
663TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, adc_u64 );
664TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, adc_u64_locked );
665TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, sub_u64 );
666TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, sub_u64_locked );
667TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, sbb_u64 );
668TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, sbb_u64_locked );
669TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, or_u64 );
670TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, or_u64_locked );
671TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, xor_u64 );
672TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, xor_u64_locked );
673TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, and_u64 );
674TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, and_u64_locked );
675TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, cmp_u64 );
676TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, test_u64 );
677TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, bt_u64 );
678TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, btc_u64 );
679TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, btc_u64_locked );
680TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, btr_u64 );
681TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, btr_u64_locked );
682TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, bts_u64 );
683TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, bts_u64_locked );
684TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU64_TEST_T, bsf_u64_amd );
685TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU64_TEST_T, bsr_u64_amd );
686TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU64_TEST_T, imul_two_u64_amd );
687TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU64_TEST_T, bsf_u64_intel );
688TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU64_TEST_T, bsr_u64_intel );
689TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU64_TEST_T, imul_two_u64_intel );
690
691TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU16_TEST_T, shrd_u16_amd );
692TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU16_TEST_T, shld_u16_amd );
693TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU32_TEST_T, shrd_u32_amd );
694TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU32_TEST_T, shld_u32_amd );
695TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU64_TEST_T, shrd_u64_amd );
696TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU64_TEST_T, shld_u64_amd );
697TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU16_TEST_T, shrd_u16_intel );
698TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU16_TEST_T, shld_u16_intel );
699TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU32_TEST_T, shrd_u32_intel );
700TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU32_TEST_T, shld_u32_intel );
701TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU64_TEST_T, shrd_u64_intel );
702TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU64_TEST_T, shld_u64_intel );
703
704TSTIEM_DECLARE_TEST_ARRAY(Int, BINU8_TEST_T, inc_u8 );
705TSTIEM_DECLARE_TEST_ARRAY(Int, BINU8_TEST_T, inc_u8_locked );
706TSTIEM_DECLARE_TEST_ARRAY(Int, BINU8_TEST_T, dec_u8 );
707TSTIEM_DECLARE_TEST_ARRAY(Int, BINU8_TEST_T, dec_u8_locked );
708TSTIEM_DECLARE_TEST_ARRAY(Int, BINU8_TEST_T, not_u8 );
709TSTIEM_DECLARE_TEST_ARRAY(Int, BINU8_TEST_T, not_u8_locked );
710TSTIEM_DECLARE_TEST_ARRAY(Int, BINU8_TEST_T, neg_u8 );
711TSTIEM_DECLARE_TEST_ARRAY(Int, BINU8_TEST_T, neg_u8_locked );
712
713TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, inc_u16 );
714TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, inc_u16_locked );
715TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, dec_u16 );
716TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, dec_u16_locked );
717TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, not_u16 );
718TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, not_u16_locked );
719TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, neg_u16 );
720TSTIEM_DECLARE_TEST_ARRAY(Int, BINU16_TEST_T, neg_u16_locked );
721
722TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, inc_u32 );
723TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, inc_u32_locked );
724TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, dec_u32 );
725TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, dec_u32_locked );
726TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, not_u32 );
727TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, not_u32_locked );
728TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, neg_u32 );
729TSTIEM_DECLARE_TEST_ARRAY(Int, BINU32_TEST_T, neg_u32_locked );
730
731TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, inc_u64 );
732TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, inc_u64_locked );
733TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, dec_u64 );
734TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, dec_u64_locked );
735TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, not_u64 );
736TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, not_u64_locked );
737TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, neg_u64 );
738TSTIEM_DECLARE_TEST_ARRAY(Int, BINU64_TEST_T, neg_u64_locked );
739
740TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU8_TEST_T, rol_u8_amd );
741TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU8_TEST_T, ror_u8_amd );
742TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU8_TEST_T, rcl_u8_amd );
743TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU8_TEST_T, rcr_u8_amd );
744TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU8_TEST_T, shl_u8_amd );
745TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU8_TEST_T, shr_u8_amd );
746TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU8_TEST_T, sar_u8_amd );
747TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU8_TEST_T, rol_u8_intel );
748TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU8_TEST_T, ror_u8_intel );
749TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU8_TEST_T, rcl_u8_intel );
750TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU8_TEST_T, rcr_u8_intel );
751TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU8_TEST_T, shl_u8_intel );
752TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU8_TEST_T, shr_u8_intel );
753TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU8_TEST_T, sar_u8_intel );
754
755TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU16_TEST_T, rol_u16_amd );
756TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU16_TEST_T, ror_u16_amd );
757TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU16_TEST_T, rcl_u16_amd );
758TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU16_TEST_T, rcr_u16_amd );
759TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU16_TEST_T, shl_u16_amd );
760TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU16_TEST_T, shr_u16_amd );
761TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU16_TEST_T, sar_u16_amd );
762TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU16_TEST_T, rol_u16_intel );
763TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU16_TEST_T, ror_u16_intel );
764TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU16_TEST_T, rcl_u16_intel );
765TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU16_TEST_T, rcr_u16_intel );
766TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU16_TEST_T, shl_u16_intel );
767TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU16_TEST_T, shr_u16_intel );
768TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU16_TEST_T, sar_u16_intel );
769
770TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU32_TEST_T, rol_u32_amd );
771TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU32_TEST_T, ror_u32_amd );
772TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU32_TEST_T, rcl_u32_amd );
773TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU32_TEST_T, rcr_u32_amd );
774TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU32_TEST_T, shl_u32_amd );
775TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU32_TEST_T, shr_u32_amd );
776TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU32_TEST_T, sar_u32_amd );
777TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU32_TEST_T, rol_u32_intel );
778TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU32_TEST_T, ror_u32_intel );
779TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU32_TEST_T, rcl_u32_intel );
780TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU32_TEST_T, rcr_u32_intel );
781TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU32_TEST_T, shl_u32_intel );
782TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU32_TEST_T, shr_u32_intel );
783TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU32_TEST_T, sar_u32_intel );
784
785TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU64_TEST_T, rol_u64_amd );
786TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU64_TEST_T, ror_u64_amd );
787TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU64_TEST_T, rcl_u64_amd );
788TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU64_TEST_T, rcr_u64_amd );
789TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU64_TEST_T, shl_u64_amd );
790TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU64_TEST_T, shr_u64_amd );
791TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, BINU64_TEST_T, sar_u64_amd );
792TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU64_TEST_T, rol_u64_intel );
793TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU64_TEST_T, ror_u64_intel );
794TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU64_TEST_T, rcl_u64_intel );
795TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU64_TEST_T, rcr_u64_intel );
796TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU64_TEST_T, shl_u64_intel );
797TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU64_TEST_T, shr_u64_intel );
798TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, BINU64_TEST_T, sar_u64_intel );
799
800TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, MULDIVU8_TEST_T, mul_u8_amd );
801TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, MULDIVU8_TEST_T, imul_u8_amd );
802TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, MULDIVU8_TEST_T, div_u8_amd );
803TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, MULDIVU8_TEST_T, idiv_u8_amd );
804TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, MULDIVU8_TEST_T, mul_u8_intel );
805TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, MULDIVU8_TEST_T, imul_u8_intel );
806TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, MULDIVU8_TEST_T, div_u8_intel );
807TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, MULDIVU8_TEST_T, idiv_u8_intel );
808
809TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, MULDIVU16_TEST_T, mul_u16_amd );
810TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, MULDIVU16_TEST_T, imul_u16_amd );
811TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, MULDIVU16_TEST_T, div_u16_amd );
812TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, MULDIVU16_TEST_T, idiv_u16_amd );
813TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, MULDIVU16_TEST_T, mul_u16_intel );
814TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, MULDIVU16_TEST_T, imul_u16_intel );
815TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, MULDIVU16_TEST_T, div_u16_intel );
816TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, MULDIVU16_TEST_T, idiv_u16_intel );
817
818TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, MULDIVU32_TEST_T, mul_u32_amd );
819TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, MULDIVU32_TEST_T, imul_u32_amd );
820TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, MULDIVU32_TEST_T, div_u32_amd );
821TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, MULDIVU32_TEST_T, idiv_u32_amd );
822TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, MULDIVU32_TEST_T, mul_u32_intel );
823TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, MULDIVU32_TEST_T, imul_u32_intel );
824TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, MULDIVU32_TEST_T, div_u32_intel );
825TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, MULDIVU32_TEST_T, idiv_u32_intel );
826
827TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, MULDIVU64_TEST_T, mul_u64_amd );
828TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, MULDIVU64_TEST_T, imul_u64_amd );
829TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, MULDIVU64_TEST_T, div_u64_amd );
830TSTIEM_DECLARE_TEST_ARRAY(Int-Amd, MULDIVU64_TEST_T, idiv_u64_amd );
831TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, MULDIVU64_TEST_T, mul_u64_intel );
832TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, MULDIVU64_TEST_T, imul_u64_intel );
833TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, MULDIVU64_TEST_T, div_u64_intel );
834TSTIEM_DECLARE_TEST_ARRAY(Int-Intel, MULDIVU64_TEST_T, idiv_u64_intel );
835
836TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt, FPU_LD_CONST_TEST_T, fld1 );
837TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt, FPU_LD_CONST_TEST_T, fldl2t );
838TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt, FPU_LD_CONST_TEST_T, fldl2e );
839TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt, FPU_LD_CONST_TEST_T, fldpi );
840TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt, FPU_LD_CONST_TEST_T, fldlg2 );
841TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt, FPU_LD_CONST_TEST_T, fldln2 );
842TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt, FPU_LD_CONST_TEST_T, fldz );
843
844TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt, FPU_R80_IN_TEST_T, fld_r80_from_r80 );
845TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt, FPU_R64_IN_TEST_T, fld_r80_from_r64 );
846TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt, FPU_R32_IN_TEST_T, fld_r80_from_r32 );
847TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt, FPU_I64_IN_TEST_T, fild_r80_from_i64 );
848TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt, FPU_I32_IN_TEST_T, fild_r80_from_i32 );
849TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt, FPU_I16_IN_TEST_T, fild_r80_from_i16 );
850TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt, FPU_D80_IN_TEST_T, fld_r80_from_d80 );
851
852TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt, FPU_ST_R80_TEST_T, fst_r80_to_r80 );
853TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt, FPU_ST_R64_TEST_T, fst_r80_to_r64 );
854TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt, FPU_ST_R32_TEST_T, fst_r80_to_r32 );
855TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt, FPU_ST_I64_TEST_T, fist_r80_to_i64 );
856TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt, FPU_ST_I32_TEST_T, fist_r80_to_i32 );
857TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt, FPU_ST_I16_TEST_T, fist_r80_to_i16 );
858TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt, FPU_ST_I64_TEST_T, fistt_r80_to_i64 );
859TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt, FPU_ST_I32_TEST_T, fistt_r80_to_i32 );
860TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt-Amd, FPU_ST_I16_TEST_T, fistt_r80_to_i16_amd );
861TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt-Intel, FPU_ST_I16_TEST_T, fistt_r80_to_i16_intel );
862TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt, FPU_ST_D80_TEST_T, fst_r80_to_d80 );
863
864TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1, FPU_BINARY_R80_TEST_T, fadd_r80_by_r80 );
865TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1, FPU_BINARY_R80_TEST_T, fsub_r80_by_r80 );
866TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1, FPU_BINARY_R80_TEST_T, fsubr_r80_by_r80 );
867TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1, FPU_BINARY_R80_TEST_T, fmul_r80_by_r80 );
868TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1, FPU_BINARY_R80_TEST_T, fdiv_r80_by_r80 );
869TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1, FPU_BINARY_R80_TEST_T, fdivr_r80_by_r80 );
870TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1, FPU_BINARY_R80_TEST_T, fprem_r80_by_r80 );
871TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1, FPU_BINARY_R80_TEST_T, fprem1_r80_by_r80 );
872TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1, FPU_BINARY_R80_TEST_T, fscale_r80_by_r80 );
873TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1-Amd, FPU_BINARY_R80_TEST_T, fpatan_r80_by_r80_amd );
874TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1-Intel, FPU_BINARY_R80_TEST_T, fpatan_r80_by_r80_intel );
875TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1-Amd, FPU_BINARY_R80_TEST_T, fyl2x_r80_by_r80_amd );
876TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1-Intel, FPU_BINARY_R80_TEST_T, fyl2x_r80_by_r80_intel );
877TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1-Amd, FPU_BINARY_R80_TEST_T, fyl2xp1_r80_by_r80_amd );
878TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1-Intel, FPU_BINARY_R80_TEST_T, fyl2xp1_r80_by_r80_intel );
879
880TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_R64_TEST_T, fadd_r80_by_r64 );
881TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_R64_TEST_T, fmul_r80_by_r64 );
882TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_R64_TEST_T, fsub_r80_by_r64 );
883TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_R64_TEST_T, fsubr_r80_by_r64 );
884TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_R64_TEST_T, fdiv_r80_by_r64 );
885TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_R64_TEST_T, fdivr_r80_by_r64 );
886
887TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_R32_TEST_T, fadd_r80_by_r32 );
888TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_R32_TEST_T, fmul_r80_by_r32 );
889TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_R32_TEST_T, fsub_r80_by_r32 );
890TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_R32_TEST_T, fsubr_r80_by_r32 );
891TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_R32_TEST_T, fdiv_r80_by_r32 );
892TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_R32_TEST_T, fdivr_r80_by_r32 );
893
894TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_I32_TEST_T, fiadd_r80_by_i32 );
895TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_I32_TEST_T, fimul_r80_by_i32 );
896TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_I32_TEST_T, fisub_r80_by_i32 );
897TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_I32_TEST_T, fisubr_r80_by_i32 );
898TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_I32_TEST_T, fidiv_r80_by_i32 );
899TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_I32_TEST_T, fidivr_r80_by_i32 );
900
901TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_I16_TEST_T, fiadd_r80_by_i16 );
902TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_I16_TEST_T, fimul_r80_by_i16 );
903TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_I16_TEST_T, fisub_r80_by_i16 );
904TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_I16_TEST_T, fisubr_r80_by_i16 );
905TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_I16_TEST_T, fidiv_r80_by_i16 );
906TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_I16_TEST_T, fidivr_r80_by_i16 );
907
908TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1, FPU_BINARY_R80_TEST_T, fcom_r80_by_r80 );
909TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1, FPU_BINARY_R80_TEST_T, fucom_r80_by_r80 );
910TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_R64_TEST_T, fcom_r80_by_r64 );
911TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_R32_TEST_T, fcom_r80_by_r32 );
912TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_I32_TEST_T, ficom_r80_by_i32 );
913TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2, FPU_BINARY_I16_TEST_T, ficom_r80_by_i16 );
914
915TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1, FPU_BINARY_EFL_R80_TEST_T, fcomi_r80_by_r80 );
916TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1, FPU_BINARY_EFL_R80_TEST_T, fucomi_r80_by_r80 );
917
918TSTIEM_DECLARE_TEST_ARRAY(FpuOther, FPU_UNARY_R80_TEST_T, fabs_r80 );
919TSTIEM_DECLARE_TEST_ARRAY(FpuOther, FPU_UNARY_R80_TEST_T, fchs_r80 );
920TSTIEM_DECLARE_TEST_ARRAY(FpuOther-Amd, FPU_UNARY_R80_TEST_T, f2xm1_r80_amd );
921TSTIEM_DECLARE_TEST_ARRAY(FpuOther-Intel, FPU_UNARY_R80_TEST_T, f2xm1_r80_intel );
922TSTIEM_DECLARE_TEST_ARRAY(FpuOther, FPU_UNARY_R80_TEST_T, fsqrt_r80 );
923TSTIEM_DECLARE_TEST_ARRAY(FpuOther, FPU_UNARY_R80_TEST_T, frndint_r80 );
924TSTIEM_DECLARE_TEST_ARRAY(FpuOther-Amd, FPU_UNARY_R80_TEST_T, fsin_r80_amd );
925TSTIEM_DECLARE_TEST_ARRAY(FpuOther-Intel, FPU_UNARY_R80_TEST_T, fsin_r80_intel );
926TSTIEM_DECLARE_TEST_ARRAY(FpuOther-Amd, FPU_UNARY_R80_TEST_T, fcos_r80_amd );
927TSTIEM_DECLARE_TEST_ARRAY(FpuOther-Intel, FPU_UNARY_R80_TEST_T, fcos_r80_intel );
928
929TSTIEM_DECLARE_TEST_ARRAY(FpuOther, FPU_UNARY_R80_TEST_T, ftst_r80 );
930TSTIEM_DECLARE_TEST_ARRAY(FpuOther, FPU_UNARY_R80_TEST_T, fxam_r80 );
931
932TSTIEM_DECLARE_TEST_ARRAY(FpuOther-Amd, FPU_UNARY_TWO_R80_TEST_T, fptan_r80_r80_amd );
933TSTIEM_DECLARE_TEST_ARRAY(FpuOther-Intel, FPU_UNARY_TWO_R80_TEST_T, fptan_r80_r80_intel );
934TSTIEM_DECLARE_TEST_ARRAY(FpuOther, FPU_UNARY_TWO_R80_TEST_T, fxtract_r80_r80 );
935TSTIEM_DECLARE_TEST_ARRAY(FpuOther-Amd, FPU_UNARY_TWO_R80_TEST_T, fsincos_r80_r80_amd );
936TSTIEM_DECLARE_TEST_ARRAY(FpuOther-Intel, FPU_UNARY_TWO_R80_TEST_T, fsincos_r80_r80_intel );
937
938RT_C_DECLS_BEGIN
939
940TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_TEST_T, addps_u128 );
941TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_TEST_T, mulps_u128 );
942TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_TEST_T, subps_u128 );
943TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_TEST_T, minps_u128 );
944TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_TEST_T, divps_u128 );
945TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_TEST_T, maxps_u128 );
946TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_TEST_T, haddps_u128 );
947TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_TEST_T, hsubps_u128 );
948TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_TEST_T, sqrtps_u128 );
949TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_TEST_T, addsubps_u128 );
950TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_TEST_T, cvtps2pd_u128 );
951
952TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_U128_R32_TEST_T, addss_u128_r32 );
953TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_U128_R32_TEST_T, mulss_u128_r32 );
954TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_U128_R32_TEST_T, subss_u128_r32 );
955TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_U128_R32_TEST_T, minss_u128_r32 );
956TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_U128_R32_TEST_T, divss_u128_r32 );
957TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_U128_R32_TEST_T, maxss_u128_r32 );
958TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_U128_R32_TEST_T, cvtss2sd_u128_r32 );
959TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_U128_R32_TEST_T, sqrtss_u128_r32 );
960
961TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_TEST_T, addpd_u128 );
962TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_TEST_T, mulpd_u128 );
963TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_TEST_T, subpd_u128 );
964TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_TEST_T, minpd_u128 );
965TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_TEST_T, divpd_u128 );
966TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_TEST_T, maxpd_u128 );
967TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_TEST_T, haddpd_u128 );
968TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_TEST_T, hsubpd_u128 );
969TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_TEST_T, sqrtpd_u128 );
970TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_TEST_T, addsubpd_u128 );
971TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_TEST_T, cvtpd2ps_u128 );
972
973TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_U128_R64_TEST_T, addsd_u128_r64 );
974TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_U128_R64_TEST_T, mulsd_u128_r64 );
975TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_U128_R64_TEST_T, subsd_u128_r64 );
976TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_U128_R64_TEST_T, minsd_u128_r64 );
977TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_U128_R64_TEST_T, divsd_u128_r64 );
978TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_U128_R64_TEST_T, maxsd_u128_r64 );
979TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_U128_R64_TEST_T, cvtsd2ss_u128_r64 );
980TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_U128_R64_TEST_T, sqrtsd_u128_r64 );
981
982TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_I32_R64_TEST_T, cvttsd2si_i32_r64 );
983TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_I32_R64_TEST_T, cvtsd2si_i32_r64 );
984
985TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_I64_R64_TEST_T, cvttsd2si_i64_r64 );
986TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_I64_R64_TEST_T, cvtsd2si_i64_r64 );
987
988TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_I32_R32_TEST_T, cvttss2si_i32_r32 );
989TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_I32_R32_TEST_T, cvtss2si_i32_r32 );
990
991TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_I64_R32_TEST_T, cvttss2si_i64_r32 );
992TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_I64_R32_TEST_T, cvtss2si_i64_r32 );
993
994TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_R32_I32_TEST_T, cvtsi2ss_r32_i32 );
995TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_R32_I64_TEST_T, cvtsi2ss_r32_i64 );
996
997TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_R64_I32_TEST_T, cvtsi2sd_r64_i32 );
998TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_R64_I64_TEST_T, cvtsi2sd_r64_i64 );
999
1000TSTIEM_DECLARE_TEST_ARRAY_BIN(SseCompare, SSE_COMPARE_EFL_R32_R32_TEST_T, ucomiss_u128 );
1001TSTIEM_DECLARE_TEST_ARRAY_BIN(SseCompare, SSE_COMPARE_EFL_R32_R32_TEST_T, vucomiss_u128 );
1002TSTIEM_DECLARE_TEST_ARRAY_BIN(SseCompare, SSE_COMPARE_EFL_R32_R32_TEST_T, comiss_u128 );
1003TSTIEM_DECLARE_TEST_ARRAY_BIN(SseCompare, SSE_COMPARE_EFL_R32_R32_TEST_T, vcomiss_u128 );
1004
1005TSTIEM_DECLARE_TEST_ARRAY_BIN(SseCompare, SSE_COMPARE_EFL_R64_R64_TEST_T, ucomisd_u128 );
1006TSTIEM_DECLARE_TEST_ARRAY_BIN(SseCompare, SSE_COMPARE_EFL_R64_R64_TEST_T, vucomisd_u128 );
1007TSTIEM_DECLARE_TEST_ARRAY_BIN(SseCompare, SSE_COMPARE_EFL_R64_R64_TEST_T, comisd_u128 );
1008TSTIEM_DECLARE_TEST_ARRAY_BIN(SseCompare, SSE_COMPARE_EFL_R64_R64_TEST_T, vcomisd_u128 );
1009
1010TSTIEM_DECLARE_TEST_ARRAY_BIN(SseCompare, SSE_COMPARE_F2_XMM_IMM8_TEST_T, cmpps_u128 );
1011TSTIEM_DECLARE_TEST_ARRAY_BIN(SseCompare, SSE_COMPARE_F2_XMM_IMM8_TEST_T, cmppd_u128 );
1012TSTIEM_DECLARE_TEST_ARRAY_BIN(SseCompare, SSE_COMPARE_F2_XMM_IMM8_TEST_T, cmpss_u128 );
1013TSTIEM_DECLARE_TEST_ARRAY_BIN(SseCompare, SSE_COMPARE_F2_XMM_IMM8_TEST_T, cmpsd_u128 );
1014
1015TSTIEM_DECLARE_TEST_ARRAY_BIN(SseConvert, SSE_CONVERT_XMM_TEST_T, cvtdq2ps_u128 );
1016TSTIEM_DECLARE_TEST_ARRAY_BIN(SseConvert, SSE_CONVERT_XMM_TEST_T, cvtps2dq_u128 );
1017TSTIEM_DECLARE_TEST_ARRAY_BIN(SseConvert, SSE_CONVERT_XMM_TEST_T, cvttps2dq_u128 );
1018
1019TSTIEM_DECLARE_TEST_ARRAY_BIN(SseConvert, SSE_CONVERT_XMM_TEST_T, cvttpd2dq_u128 );
1020TSTIEM_DECLARE_TEST_ARRAY_BIN(SseConvert, SSE_CONVERT_XMM_TEST_T, cvtdq2pd_u128 );
1021TSTIEM_DECLARE_TEST_ARRAY_BIN(SseConvert, SSE_CONVERT_XMM_TEST_T, cvtpd2dq_u128 );
1022
1023TSTIEM_DECLARE_TEST_ARRAY_BIN(SseConvert, SSE_CONVERT_MM_XMM_TEST_T, cvtpd2pi_u128 );
1024TSTIEM_DECLARE_TEST_ARRAY_BIN(SseConvert, SSE_CONVERT_MM_XMM_TEST_T, cvttpd2pi_u128 );
1025
1026TSTIEM_DECLARE_TEST_ARRAY_BIN(SseConvert, SSE_CONVERT_XMM_MM_TEST_T, cvtpi2ps_u128 );
1027TSTIEM_DECLARE_TEST_ARRAY_BIN(SseConvert, SSE_CONVERT_XMM_MM_TEST_T, cvtpi2pd_u128 );
1028
1029TSTIEM_DECLARE_TEST_ARRAY_BIN(SseConvert, SSE_CONVERT_MM_R32_TEST_T, cvtps2pi_u128 );
1030TSTIEM_DECLARE_TEST_ARRAY_BIN(SseConvert, SSE_CONVERT_MM_R32_TEST_T, cvttps2pi_u128 );
1031
1032TSTIEM_DECLARE_TEST_ARRAY_BIN(SsePcmpxstrx, SSE_PCMPISTRI_TEST_T, pcmpistri_u128 );
1033TSTIEM_DECLARE_TEST_ARRAY_BIN(SsePcmpxstrx, SSE_PCMPESTRI_TEST_T, pcmpestri_u128 );
1034TSTIEM_DECLARE_TEST_ARRAY_BIN(SsePcmpxstrx, SSE_PCMPISTRM_TEST_T, pcmpistrm_u128 );
1035TSTIEM_DECLARE_TEST_ARRAY_BIN(SsePcmpxstrx, SSE_PCMPESTRM_TEST_T, pcmpestrm_u128 );
1036
1037RT_C_DECLS_END
1038
1039#endif /* !VMM_INCLUDED_SRC_testcase_tstIEMAImpl_h */
1040
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