VirtualBox

Changeset 94413 in vbox for trunk/src/VBox/VMM/testcase


Ignore:
Timestamp:
Mar 31, 2022 12:20:53 PM (3 years ago)
Author:
vboxsync
Message:

VMM/IEM,tstIEMAImpl: A handful of FPU instructions produces different results on AMD, it seems. bugref:9898

Location:
trunk/src/VBox/VMM/testcase
Files:
3 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/testcase/Makefile.kmk

    r94412 r94413  
    252252        $(tstIEMAImpl_0_OUTDIR)/tstIEMAImplDataInt-Intel.cpp \
    253253        $(tstIEMAImpl_0_OUTDIR)/tstIEMAImplDataFpuLdSt.cpp \
     254        $(tstIEMAImpl_0_OUTDIR)/tstIEMAImplDataFpuLdSt-Amd.cpp \
     255        $(tstIEMAImpl_0_OUTDIR)/tstIEMAImplDataFpuLdSt-Intel.cpp \
    254256        $(tstIEMAImpl_0_OUTDIR)/tstIEMAImplDataFpuBinary1.cpp \
     257        $(tstIEMAImpl_0_OUTDIR)/tstIEMAImplDataFpuBinary1-Amd.cpp \
     258        $(tstIEMAImpl_0_OUTDIR)/tstIEMAImplDataFpuBinary1-Intel.cpp \
    255259        $(tstIEMAImpl_0_OUTDIR)/tstIEMAImplDataFpuBinary2.cpp
    256260tstIEMAImpl_SOURCES   = \
     
    290294$(evalcall2 def_tstIEMAImplData_adjust,Int-Intel)
    291295$(evalcall2 def_tstIEMAImplData_adjust,FpuLdSt)
     296$(evalcall2 def_tstIEMAImplData_adjust,FpuLdSt-Amd)
     297$(evalcall2 def_tstIEMAImplData_adjust,FpuLdSt-Intel)
    292298$(evalcall2 def_tstIEMAImplData_adjust,FpuBinary1)
     299$(evalcall2 def_tstIEMAImplData_adjust,FpuBinary1-Amd)
     300$(evalcall2 def_tstIEMAImplData_adjust,FpuBinary1-Intel)
    293301$(evalcall2 def_tstIEMAImplData_adjust,FpuBinary2)
    294302
  • trunk/src/VBox/VMM/testcase/tstIEMAImpl.cpp

    r94412 r94413  
    25382538 * Store integer values to memory or register.
    25392539 */
     2540TYPEDEF_SUBTEST_TYPE(FPU_ST_I16_T, FPU_ST_I16_TEST_T, PFNIEMAIMPLFPUSTR80TOI16);
     2541TYPEDEF_SUBTEST_TYPE(FPU_ST_I32_T, FPU_ST_I32_TEST_T, PFNIEMAIMPLFPUSTR80TOI32);
     2542TYPEDEF_SUBTEST_TYPE(FPU_ST_I64_T, FPU_ST_I64_TEST_T, PFNIEMAIMPLFPUSTR80TOI64);
     2543
     2544static const FPU_ST_I16_T g_aFpuStI16[] =
     2545{
     2546    ENTRY(fist_r80_to_i16),
     2547    ENTRY_AMD(  fistt_r80_to_i16, 0),
     2548    ENTRY_INTEL(fistt_r80_to_i16, 0),
     2549};
     2550static const FPU_ST_I32_T g_aFpuStI32[] =
     2551{
     2552    ENTRY(fist_r80_to_i32),
     2553    ENTRY(fistt_r80_to_i32),
     2554};
     2555static const FPU_ST_I64_T g_aFpuStI64[] =
     2556{
     2557    ENTRY(fist_r80_to_i64),
     2558    ENTRY(fistt_r80_to_i64),
     2559};
     2560
    25402561#ifdef TSTIEMAIMPL_WITH_GENERATOR
    25412562static const RTFLOAT80U g_aFpuStI16Specials[] = /* 16-bit variant borrows properties from the 32-bit one, thus all this stuff. */
     
    26302651
    26312652# define GEN_FPU_STORE_INT(a_cBits, a_iType, a_szFmt, a_aSubTests, a_TestType) \
    2632 static void FpuStI ## a_cBits ## Generate(PRTSTREAM pOut, uint32_t cTests) \
     2653static void FpuStI ## a_cBits ## Generate(PRTSTREAM pOut, PRTSTREAM pOutCpu, uint32_t cTests) \
    26332654{ \
    26342655    X86FXSTATE State; \
     
    26362657    for (size_t iFn = 0; iFn < RT_ELEMENTS(a_aSubTests); iFn++) \
    26372658    { \
    2638         GenerateArrayStart(pOut, a_aSubTests[iFn].pszName, #a_TestType); \
     2659        PFNIEMAIMPLFPUSTR80TOI ## a_cBits const pfn    = a_aSubTests[iFn].pfnNative \
     2660                                                       ? a_aSubTests[iFn].pfnNative : a_aSubTests[iFn].pfn; \
     2661        PRTSTREAM                               pOutFn = pOut; \
     2662        if (a_aSubTests[iFn].idxCpuEflFlavour != IEMTARGETCPU_EFL_BEHAVIOR_NATIVE) \
     2663        { \
     2664            if (a_aSubTests[iFn].idxCpuEflFlavour != g_idxCpuEflFlavour) \
     2665                continue; \
     2666            pOutFn = pOutCpu; \
     2667        } \
     2668        \
     2669        GenerateArrayStart(pOutFn, a_aSubTests[iFn].pszName, #a_TestType); \
    26392670        uint32_t const cTotalTests = cTests + RT_ELEMENTS(g_aFpuStI ## a_cBits ## Specials); \
    26402671        for (uint32_t iTest = 0; iTest < cTotalTests; iTest++) \
     
    26572688                    /*if (iMask & 1) State.FCW ^= X86_FCW_MASK_ALL;*/ \
    26582689                    State.FCW |= (iMask >> 1) << X86_FCW_OM_BIT; \
    2659                     a_aSubTests[iFn].pfn(&State, &uFswOut, &iOutVal, &InVal); \
    2660                     RTStrmPrintf(pOut, "    { %#06x, %#06x, %#06x, %s, %s }, /* #%u/%u/%u */\n", \
     2690                    pfn(&State, &uFswOut, &iOutVal, &InVal); \
     2691                    RTStrmPrintf(pOutFn, "    { %#06x, %#06x, %#06x, %s, %s }, /* #%u/%u/%u */\n", \
    26612692                                 State.FCW, State.FSW, uFswOut, GenFormatR80(&InVal), \
    26622693                                 GenFormatI ## a_cBits(iOutVal), iTest, iRounding, iMask); \
     
    26642695            } \
    26652696        } \
    2666         GenerateArrayEnd(pOut, a_aSubTests[iFn].pszName); \
     2697        GenerateArrayEnd(pOutFn, a_aSubTests[iFn].pszName); \
    26672698    } \
    26682699}
     
    26722703
    26732704#define TEST_FPU_STORE_INT(a_cBits, a_iType, a_szFmt, a_SubTestType, a_aSubTests, a_TestType) \
    2674 typedef IEM_DECL_IMPL_TYPE(void, FNIEMAIMPLFPUSTR80TOI ## a_cBits,(PCX86FXSTATE, uint16_t *, a_iType *, PCRTFLOAT80U)); \
    2675 typedef FNIEMAIMPLFPUSTR80TOI ## a_cBits *PFNIEMAIMPLFPUSTR80TOI ## a_cBits; \
    2676 TYPEDEF_SUBTEST_TYPE(a_SubTestType, a_TestType, PFNIEMAIMPLFPUSTR80TOI ## a_cBits); \
    2677 \
    2678 static const a_SubTestType a_aSubTests[] = \
    2679 { \
    2680     ENTRY(RT_CONCAT(fist_r80_to_i,a_cBits)), \
    2681     ENTRY(RT_CONCAT(fistt_r80_to_i,a_cBits)) \
    2682 }; \
    26832705GEN_FPU_STORE_INT(a_cBits, a_iType, a_szFmt, a_aSubTests, a_TestType) \
    26842706\
     
    27232745}
    27242746
     2747//fistt_r80_to_i16 diffs for AMD, of course :-)
     2748
    27252749TEST_FPU_STORE_INT(64, int64_t, "%RI64", FPU_ST_I64_T, g_aFpuStI64, FPU_ST_I64_TEST_T)
    27262750TEST_FPU_STORE_INT(32, int32_t, "%RI32", FPU_ST_I32_T, g_aFpuStI32, FPU_ST_I32_TEST_T)
     
    27282752
    27292753#ifdef TSTIEMAIMPL_WITH_GENERATOR
    2730 static void FpuStIntGenerate(PRTSTREAM pOut, uint32_t cTests)
    2731 {
    2732     FpuStI64Generate(pOut, cTests);
    2733     FpuStI32Generate(pOut, cTests);
    2734     FpuStI16Generate(pOut, cTests);
     2754static void FpuStIntGenerate(PRTSTREAM pOut, PRTSTREAM pOutCpu, uint32_t cTests)
     2755{
     2756    FpuStI64Generate(pOut, pOutCpu, cTests);
     2757    FpuStI32Generate(pOut, pOutCpu, cTests);
     2758    FpuStI16Generate(pOut, pOutCpu, cTests);
    27352759}
    27362760#endif
     
    28742898    ENTRY(fprem1_r80_by_r80),
    28752899    ENTRY(fscale_r80_by_r80),
    2876     ENTRY(fpatan_r80_by_r80),
    2877     ENTRY(fyl2x_r80_by_r80),
    2878     ENTRY(fyl2xp1_r80_by_r80),
     2900    ENTRY_AMD(  fpatan_r80_by_r80,  0),  // C1 and rounding differs on AMD
     2901    ENTRY_INTEL(fpatan_r80_by_r80,  0),  // C1 and rounding differs on AMD
     2902    ENTRY_AMD(  fyl2x_r80_by_r80,   0),  // C1 and rounding differs on AMD
     2903    ENTRY_INTEL(fyl2x_r80_by_r80,   0),  // C1 and rounding differs on AMD
     2904    ENTRY_AMD(  fyl2xp1_r80_by_r80, 0),  // C1 and rounding differs on AMD
     2905    ENTRY_INTEL(fyl2xp1_r80_by_r80, 0),  // C1 and rounding differs on AMD
    28792906};
    28802907
    28812908#ifdef TSTIEMAIMPL_WITH_GENERATOR
    2882 static void FpuBinaryR80Generate(PRTSTREAM pOut, uint32_t cTests)
     2909static void FpuBinaryR80Generate(PRTSTREAM pOut, PRTSTREAM pOutCpu, uint32_t cTests)
    28832910{
    28842911    static struct { RTFLOAT80U Val1, Val2; } const s_aSpecials[] =
     
    28932920    for (size_t iFn = 0; iFn < RT_ELEMENTS(g_aFpuBinaryR80); iFn++)
    28942921    {
    2895         GenerateArrayStart(pOut, g_aFpuBinaryR80[iFn].pszName, "FPU_BINARY_R80_TEST_T");
     2922        PFNIEMAIMPLFPUR80 const pfn = g_aFpuBinaryR80[iFn].pfnNative ? g_aFpuBinaryR80[iFn].pfnNative : g_aFpuBinaryR80[iFn].pfn;
     2923        PRTSTREAM            pOutFn = pOut;
     2924        if (g_aFpuBinaryR80[iFn].idxCpuEflFlavour != IEMTARGETCPU_EFL_BEHAVIOR_NATIVE)
     2925        {
     2926            if (g_aFpuBinaryR80[iFn].idxCpuEflFlavour != g_idxCpuEflFlavour)
     2927                continue;
     2928            pOutFn = pOutCpu;
     2929        }
     2930
     2931        GenerateArrayStart(pOutFn, g_aFpuBinaryR80[iFn].pszName, "FPU_BINARY_R80_TEST_T");
    28962932        uint32_t cNormalInputPairs = 0;
    28972933        for (uint32_t iTest = 0; iTest < cTests + RT_ELEMENTS(s_aSpecials); iTest += 1)
     
    29212957                                  | iMask;
    29222958                        IEMFPURESULT Res = { RTFLOAT80U_INIT(0, 0, 0), 0 };
    2923                         g_aFpuBinaryR80[iFn].pfn(&State, &Res, &InVal1, &InVal2);
    2924                         RTStrmPrintf(pOut, "    { %#06x, %#06x, %#06x, %s, %s, %s }, /* #%u/%u/%u/%c */\n",
     2959                        pfn(&State, &Res, &InVal1, &InVal2);
     2960                        RTStrmPrintf(pOutFn, "    { %#06x, %#06x, %#06x, %s, %s, %s }, /* #%u/%u/%u/%c */\n",
    29252961                                     State.FCW, State.FSW, Res.FSW, GenFormatR80(&InVal1), GenFormatR80(&InVal2),
    29262962                                     GenFormatR80(&Res.r80Result), iTest, iRounding, iPrecision, iMask ? 'c' : 'u');
     
    29292965            }
    29302966        }
    2931         GenerateArrayEnd(pOut, g_aFpuBinaryR80[iFn].pszName);
     2967        GenerateArrayEnd(pOutFn, g_aFpuBinaryR80[iFn].pszName);
    29322968    }
    29332969}
     
    35303566            FpuLdIntGenerate(pStrmData, cTests);
    35313567            FpuLdD80Generate(pStrmData, cTests);
    3532             FpuStIntGenerate(pStrmData, cTests);
     3568            FpuStIntGenerate(pStrmData, pStrmDataCpu, cTests);
    35333569            FpuStD80Generate(pStrmData, cTests);
    35343570            cTests = RT_MAX(cTests, 384); /* need better coverage for the next ones. */
     
    35463582            const char *pszDataFile    = fCommonData ? "tstIEMAImplDataFpuBinary1.cpp" : pszBitBucket;
    35473583            PRTSTREAM   pStrmData      = GenerateOpenWithHdr(pszDataFile, szCpuDesc, NULL);
    3548             const char *pszDataCpuFile = pszBitBucket; /*!fCpuData ? pszBitBucket : g_idxCpuEflFlavour == IEMTARGETCPU_EFL_BEHAVIOR_AMD
    3549                                        ? "tstIEMAImplDataFpuBinary1-Amd.cpp" : "tstIEMAImplDataFpuBinary1-Intel.cpp";*/
     3584            const char *pszDataCpuFile = !fCpuData ? pszBitBucket : g_idxCpuEflFlavour == IEMTARGETCPU_EFL_BEHAVIOR_AMD
     3585                                       ? "tstIEMAImplDataFpuBinary1-Amd.cpp" : "tstIEMAImplDataFpuBinary1-Intel.cpp";
    35503586            PRTSTREAM   pStrmDataCpu   = GenerateOpenWithHdr(pszDataCpuFile, szCpuDesc, pszCpuType);
    35513587            if (!pStrmData || !pStrmDataCpu)
    35523588                return RTEXITCODE_FAILURE;
    35533589
    3554             FpuBinaryR80Generate(pStrmData, cTests);
     3590            FpuBinaryR80Generate(pStrmData, pStrmDataCpu, cTests);
    35553591            FpuBinaryFswR80Generate(pStrmData, cTests);
    35563592            FpuBinaryEflR80Generate(pStrmData, cTests);
  • trunk/src/VBox/VMM/testcase/tstIEMAImpl.h

    r94412 r94413  
     1/* $Id$ */
     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 */
    117
    218#ifndef VMM_INCLUDED_SRC_testcase_tstIEMAImpl_h
    319#define VMM_INCLUDED_SRC_testcase_tstIEMAImpl_h
     20#ifndef RT_WITHOUT_PRAGMA_ONCE
     21# pragma once
     22#endif
    423
    524#include <iprt/types.h>
     
    287306    extern uint32_t const RT_CONCAT(g_cTests_, a_Instr)
    288307
    289 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU8_TEST_T,               add_u8             );
    290 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU8_TEST_T,               add_u8_locked      );
    291 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU8_TEST_T,               adc_u8             );
    292 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU8_TEST_T,               adc_u8_locked      );
    293 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU8_TEST_T,               sub_u8             );
    294 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU8_TEST_T,               sub_u8_locked      );
    295 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU8_TEST_T,               sbb_u8             );
    296 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU8_TEST_T,               sbb_u8_locked      );
    297 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU8_TEST_T,               or_u8              );
    298 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU8_TEST_T,               or_u8_locked       );
    299 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU8_TEST_T,               xor_u8             );
    300 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU8_TEST_T,               xor_u8_locked      );
    301 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU8_TEST_T,               and_u8             );
    302 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU8_TEST_T,               and_u8_locked      );
    303 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU8_TEST_T,               cmp_u8             );
    304 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU8_TEST_T,               test_u8            );
    305 
    306 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU16_TEST_T,              add_u16            );
    307 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU16_TEST_T,              add_u16_locked     );
    308 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU16_TEST_T,              adc_u16            );
    309 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU16_TEST_T,              adc_u16_locked     );
    310 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU16_TEST_T,              sub_u16            );
    311 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU16_TEST_T,              sub_u16_locked     );
    312 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU16_TEST_T,              sbb_u16            );
    313 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU16_TEST_T,              sbb_u16_locked     );
    314 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU16_TEST_T,              or_u16             );
    315 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU16_TEST_T,              or_u16_locked      );
    316 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU16_TEST_T,              xor_u16            );
    317 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU16_TEST_T,              xor_u16_locked     );
    318 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU16_TEST_T,              and_u16            );
    319 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU16_TEST_T,              and_u16_locked     );
    320 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU16_TEST_T,              cmp_u16            );
    321 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU16_TEST_T,              test_u16           );
    322 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU16_TEST_T,              bt_u16             );
    323 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU16_TEST_T,              btc_u16            );
    324 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU16_TEST_T,              btc_u16_locked     );
    325 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU16_TEST_T,              btr_u16            );
    326 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU16_TEST_T,              btr_u16_locked     );
    327 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU16_TEST_T,              bts_u16            );
    328 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU16_TEST_T,              bts_u16_locked     );
    329 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU16_TEST_T,              arpl               );
    330 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      BINU16_TEST_T,              bsf_u16_amd        );
    331 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      BINU16_TEST_T,              bsr_u16_amd        );
    332 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      BINU16_TEST_T,              imul_two_u16_amd   );
    333 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    BINU16_TEST_T,              bsf_u16_intel      );
    334 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    BINU16_TEST_T,              bsr_u16_intel      );
    335 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    BINU16_TEST_T,              imul_two_u16_intel );
    336 
    337 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU32_TEST_T,              add_u32            );
    338 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU32_TEST_T,              add_u32_locked     );
    339 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU32_TEST_T,              adc_u32            );
    340 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU32_TEST_T,              adc_u32_locked     );
    341 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU32_TEST_T,              sub_u32            );
    342 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU32_TEST_T,              sub_u32_locked     );
    343 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU32_TEST_T,              sbb_u32            );
    344 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU32_TEST_T,              sbb_u32_locked     );
    345 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU32_TEST_T,              or_u32             );
    346 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU32_TEST_T,              or_u32_locked      );
    347 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU32_TEST_T,              xor_u32            );
    348 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU32_TEST_T,              xor_u32_locked     );
    349 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU32_TEST_T,              and_u32            );
    350 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU32_TEST_T,              and_u32_locked     );
    351 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU32_TEST_T,              cmp_u32            );
    352 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU32_TEST_T,              test_u32           );
    353 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU32_TEST_T,              bt_u32             );
    354 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU32_TEST_T,              btc_u32            );
    355 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU32_TEST_T,              btc_u32_locked     );
    356 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU32_TEST_T,              btr_u32            );
    357 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU32_TEST_T,              btr_u32_locked     );
    358 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU32_TEST_T,              bts_u32            );
    359 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU32_TEST_T,              bts_u32_locked     );
    360 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      BINU32_TEST_T,              bsf_u32_amd        );
    361 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      BINU32_TEST_T,              bsr_u32_amd        );
    362 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      BINU32_TEST_T,              imul_two_u32_amd   );
    363 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    BINU32_TEST_T,              bsf_u32_intel      );
    364 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    BINU32_TEST_T,              bsr_u32_intel      );
    365 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    BINU32_TEST_T,              imul_two_u32_intel );
    366 
    367 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU64_TEST_T,              add_u64            );
    368 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU64_TEST_T,              add_u64_locked     );
    369 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU64_TEST_T,              adc_u64            );
    370 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU64_TEST_T,              adc_u64_locked     );
    371 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU64_TEST_T,              sub_u64            );
    372 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU64_TEST_T,              sub_u64_locked     );
    373 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU64_TEST_T,              sbb_u64            );
    374 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU64_TEST_T,              sbb_u64_locked     );
    375 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU64_TEST_T,              or_u64             );
    376 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU64_TEST_T,              or_u64_locked      );
    377 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU64_TEST_T,              xor_u64            );
    378 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU64_TEST_T,              xor_u64_locked     );
    379 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU64_TEST_T,              and_u64            );
    380 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU64_TEST_T,              and_u64_locked     );
    381 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU64_TEST_T,              cmp_u64            );
    382 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU64_TEST_T,              test_u64           );
    383 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU64_TEST_T,              bt_u64             );
    384 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU64_TEST_T,              btc_u64            );
    385 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU64_TEST_T,              btc_u64_locked     );
    386 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU64_TEST_T,              btr_u64            );
    387 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU64_TEST_T,              btr_u64_locked     );
    388 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU64_TEST_T,              bts_u64            );
    389 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU64_TEST_T,              bts_u64_locked     );
    390 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      BINU64_TEST_T,              bsf_u64_amd        );
    391 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      BINU64_TEST_T,              bsr_u64_amd        );
    392 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      BINU64_TEST_T,              imul_two_u64_amd   );
    393 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    BINU64_TEST_T,              bsf_u64_intel      );
    394 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    BINU64_TEST_T,              bsr_u64_intel      );
    395 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    BINU64_TEST_T,              imul_two_u64_intel );
    396 
    397 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      BINU16_TEST_T,              shrd_u16_amd       );
    398 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      BINU16_TEST_T,              shld_u16_amd       );
    399 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      BINU32_TEST_T,              shrd_u32_amd       );
    400 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      BINU32_TEST_T,              shld_u32_amd       );
    401 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      BINU64_TEST_T,              shrd_u64_amd       );
    402 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      BINU64_TEST_T,              shld_u64_amd       );
    403 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    BINU16_TEST_T,              shrd_u16_intel     );
    404 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    BINU16_TEST_T,              shld_u16_intel     );
    405 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    BINU32_TEST_T,              shrd_u32_intel     );
    406 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    BINU32_TEST_T,              shld_u32_intel     );
    407 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    BINU64_TEST_T,              shrd_u64_intel     );
    408 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    BINU64_TEST_T,              shld_u64_intel     );
    409 
    410 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU8_TEST_T,               inc_u8             );
    411 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU8_TEST_T,               inc_u8_locked      );
    412 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU8_TEST_T,               dec_u8             );
    413 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU8_TEST_T,               dec_u8_locked      );
    414 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU8_TEST_T,               not_u8             );
    415 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU8_TEST_T,               not_u8_locked      );
    416 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU8_TEST_T,               neg_u8             );
    417 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU8_TEST_T,               neg_u8_locked      );
    418 
    419 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU16_TEST_T,              inc_u16            );
    420 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU16_TEST_T,              inc_u16_locked     );
    421 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU16_TEST_T,              dec_u16            );
    422 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU16_TEST_T,              dec_u16_locked     );
    423 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU16_TEST_T,              not_u16            );
    424 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU16_TEST_T,              not_u16_locked     );
    425 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU16_TEST_T,              neg_u16            );
    426 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU16_TEST_T,              neg_u16_locked     );
    427 
    428 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU32_TEST_T,              inc_u32            );
    429 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU32_TEST_T,              inc_u32_locked     );
    430 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU32_TEST_T,              dec_u32            );
    431 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU32_TEST_T,              dec_u32_locked     );
    432 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU32_TEST_T,              not_u32            );
    433 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU32_TEST_T,              not_u32_locked     );
    434 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU32_TEST_T,              neg_u32            );
    435 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU32_TEST_T,              neg_u32_locked     );
    436 
    437 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU64_TEST_T,              inc_u64            );
    438 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU64_TEST_T,              inc_u64_locked     );
    439 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU64_TEST_T,              dec_u64            );
    440 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU64_TEST_T,              dec_u64_locked     );
    441 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU64_TEST_T,              not_u64            );
    442 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU64_TEST_T,              not_u64_locked     );
    443 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU64_TEST_T,              neg_u64            );
    444 TSTIEM_DECLARE_TEST_ARRAY(Int,          BINU64_TEST_T,              neg_u64_locked     );
    445 
    446 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      BINU8_TEST_T,               rol_u8_amd         );
    447 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      BINU8_TEST_T,               ror_u8_amd         );
    448 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      BINU8_TEST_T,               rcl_u8_amd         );
    449 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      BINU8_TEST_T,               rcr_u8_amd         );
    450 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      BINU8_TEST_T,               shl_u8_amd         );
    451 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      BINU8_TEST_T,               shr_u8_amd         );
    452 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      BINU8_TEST_T,               sar_u8_amd         );
    453 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    BINU8_TEST_T,               rol_u8_intel       );
    454 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    BINU8_TEST_T,               ror_u8_intel       );
    455 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    BINU8_TEST_T,               rcl_u8_intel       );
    456 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    BINU8_TEST_T,               rcr_u8_intel       );
    457 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    BINU8_TEST_T,               shl_u8_intel       );
    458 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    BINU8_TEST_T,               shr_u8_intel       );
    459 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    BINU8_TEST_T,               sar_u8_intel       );
    460 
    461 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      BINU16_TEST_T,              rol_u16_amd        );
    462 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      BINU16_TEST_T,              ror_u16_amd        );
    463 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      BINU16_TEST_T,              rcl_u16_amd        );
    464 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      BINU16_TEST_T,              rcr_u16_amd        );
    465 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      BINU16_TEST_T,              shl_u16_amd        );
    466 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      BINU16_TEST_T,              shr_u16_amd        );
    467 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      BINU16_TEST_T,              sar_u16_amd        );
    468 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    BINU16_TEST_T,              rol_u16_intel      );
    469 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    BINU16_TEST_T,              ror_u16_intel      );
    470 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    BINU16_TEST_T,              rcl_u16_intel      );
    471 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    BINU16_TEST_T,              rcr_u16_intel      );
    472 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    BINU16_TEST_T,              shl_u16_intel      );
    473 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    BINU16_TEST_T,              shr_u16_intel      );
    474 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    BINU16_TEST_T,              sar_u16_intel      );
    475 
    476 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      BINU32_TEST_T,              rol_u32_amd        );
    477 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      BINU32_TEST_T,              ror_u32_amd        );
    478 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      BINU32_TEST_T,              rcl_u32_amd        );
    479 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      BINU32_TEST_T,              rcr_u32_amd        );
    480 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      BINU32_TEST_T,              shl_u32_amd        );
    481 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      BINU32_TEST_T,              shr_u32_amd        );
    482 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      BINU32_TEST_T,              sar_u32_amd        );
    483 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    BINU32_TEST_T,              rol_u32_intel      );
    484 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    BINU32_TEST_T,              ror_u32_intel      );
    485 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    BINU32_TEST_T,              rcl_u32_intel      );
    486 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    BINU32_TEST_T,              rcr_u32_intel      );
    487 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    BINU32_TEST_T,              shl_u32_intel      );
    488 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    BINU32_TEST_T,              shr_u32_intel      );
    489 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    BINU32_TEST_T,              sar_u32_intel      );
    490 
    491 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      BINU64_TEST_T,              rol_u64_amd        );
    492 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      BINU64_TEST_T,              ror_u64_amd        );
    493 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      BINU64_TEST_T,              rcl_u64_amd        );
    494 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      BINU64_TEST_T,              rcr_u64_amd        );
    495 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      BINU64_TEST_T,              shl_u64_amd        );
    496 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      BINU64_TEST_T,              shr_u64_amd        );
    497 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      BINU64_TEST_T,              sar_u64_amd        );
    498 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    BINU64_TEST_T,              rol_u64_intel      );
    499 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    BINU64_TEST_T,              ror_u64_intel      );
    500 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    BINU64_TEST_T,              rcl_u64_intel      );
    501 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    BINU64_TEST_T,              rcr_u64_intel      );
    502 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    BINU64_TEST_T,              shl_u64_intel      );
    503 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    BINU64_TEST_T,              shr_u64_intel      );
    504 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    BINU64_TEST_T,              sar_u64_intel      );
    505 
    506 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      MULDIVU8_TEST_T,            mul_u8_amd         );
    507 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      MULDIVU8_TEST_T,            imul_u8_amd        );
    508 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      MULDIVU8_TEST_T,            div_u8_amd         );
    509 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      MULDIVU8_TEST_T,            idiv_u8_amd        );
    510 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    MULDIVU8_TEST_T,            mul_u8_intel       );
    511 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    MULDIVU8_TEST_T,            imul_u8_intel      );
    512 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    MULDIVU8_TEST_T,            div_u8_intel       );
    513 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    MULDIVU8_TEST_T,            idiv_u8_intel      );
    514 
    515 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      MULDIVU16_TEST_T,           mul_u16_amd        );
    516 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      MULDIVU16_TEST_T,           imul_u16_amd       );
    517 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      MULDIVU16_TEST_T,           div_u16_amd        );
    518 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      MULDIVU16_TEST_T,           idiv_u16_amd       );
    519 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    MULDIVU16_TEST_T,           mul_u16_intel      );
    520 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    MULDIVU16_TEST_T,           imul_u16_intel     );
    521 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    MULDIVU16_TEST_T,           div_u16_intel      );
    522 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    MULDIVU16_TEST_T,           idiv_u16_intel     );
    523 
    524 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      MULDIVU32_TEST_T,           mul_u32_amd        );
    525 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      MULDIVU32_TEST_T,           imul_u32_amd       );
    526 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      MULDIVU32_TEST_T,           div_u32_amd        );
    527 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      MULDIVU32_TEST_T,           idiv_u32_amd       );
    528 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    MULDIVU32_TEST_T,           mul_u32_intel      );
    529 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    MULDIVU32_TEST_T,           imul_u32_intel     );
    530 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    MULDIVU32_TEST_T,           div_u32_intel      );
    531 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    MULDIVU32_TEST_T,           idiv_u32_intel     );
    532 
    533 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      MULDIVU64_TEST_T,           mul_u64_amd        );
    534 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      MULDIVU64_TEST_T,           imul_u64_amd       );
    535 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      MULDIVU64_TEST_T,           div_u64_amd        );
    536 TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,      MULDIVU64_TEST_T,           idiv_u64_amd       );
    537 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    MULDIVU64_TEST_T,           mul_u64_intel      );
    538 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    MULDIVU64_TEST_T,           imul_u64_intel     );
    539 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    MULDIVU64_TEST_T,           div_u64_intel      );
    540 TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,    MULDIVU64_TEST_T,           idiv_u64_intel     );
    541 
    542 TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,      FPU_LD_CONST_TEST_T,        fld1               );
    543 TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,      FPU_LD_CONST_TEST_T,        fldl2t             );
    544 TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,      FPU_LD_CONST_TEST_T,        fldl2e             );
    545 TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,      FPU_LD_CONST_TEST_T,        fldpi              );
    546 TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,      FPU_LD_CONST_TEST_T,        fldlg2             );
    547 TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,      FPU_LD_CONST_TEST_T,        fldln2             );
    548 TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,      FPU_LD_CONST_TEST_T,        fldz               );
    549 
    550 TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,      FPU_R80_IN_TEST_T,          fld_r80_from_r80   );
    551 TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,      FPU_R64_IN_TEST_T,          fld_r80_from_r64   );
    552 TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,      FPU_R32_IN_TEST_T,          fld_r80_from_r32   );
    553 TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,      FPU_I64_IN_TEST_T,          fild_r80_from_i64  );
    554 TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,      FPU_I32_IN_TEST_T,          fild_r80_from_i32  );
    555 TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,      FPU_I16_IN_TEST_T,          fild_r80_from_i16  );
    556 TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,      FPU_D80_IN_TEST_T,          fld_r80_from_d80   );
    557 
    558 TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,      FPU_ST_R80_TEST_T,          fst_r80_to_r80     );
    559 TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,      FPU_ST_R64_TEST_T,          fst_r80_to_r64     );
    560 TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,      FPU_ST_R32_TEST_T,          fst_r80_to_r32     );
    561 TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,      FPU_ST_I64_TEST_T,          fist_r80_to_i64    );
    562 TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,      FPU_ST_I32_TEST_T,          fist_r80_to_i32    );
    563 TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,      FPU_ST_I16_TEST_T,          fist_r80_to_i16    );
    564 TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,      FPU_ST_I64_TEST_T,          fistt_r80_to_i64   );
    565 TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,      FPU_ST_I32_TEST_T,          fistt_r80_to_i32   );
    566 TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,      FPU_ST_I16_TEST_T,          fistt_r80_to_i16   );
    567 TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,      FPU_ST_D80_TEST_T,          fst_r80_to_d80     );
    568 
    569 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1,   FPU_BINARY_R80_TEST_T,      fadd_r80_by_r80    );
    570 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1,   FPU_BINARY_R80_TEST_T,      fsub_r80_by_r80    );
    571 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1,   FPU_BINARY_R80_TEST_T,      fsubr_r80_by_r80   );
    572 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1,   FPU_BINARY_R80_TEST_T,      fmul_r80_by_r80    );
    573 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1,   FPU_BINARY_R80_TEST_T,      fdiv_r80_by_r80    );
    574 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1,   FPU_BINARY_R80_TEST_T,      fdivr_r80_by_r80   );
    575 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1,   FPU_BINARY_R80_TEST_T,      fprem_r80_by_r80   );
    576 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1,   FPU_BINARY_R80_TEST_T,      fprem1_r80_by_r80  );
    577 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1,   FPU_BINARY_R80_TEST_T,      fscale_r80_by_r80  );
    578 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1,   FPU_BINARY_R80_TEST_T,      fpatan_r80_by_r80  );
    579 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1,   FPU_BINARY_R80_TEST_T,      fyl2x_r80_by_r80   );
    580 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1,   FPU_BINARY_R80_TEST_T,      fyl2xp1_r80_by_r80 );
    581 
    582 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,   FPU_BINARY_R64_TEST_T,      fadd_r80_by_r64    );
    583 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,   FPU_BINARY_R64_TEST_T,      fmul_r80_by_r64    );
    584 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,   FPU_BINARY_R64_TEST_T,      fsub_r80_by_r64    );
    585 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,   FPU_BINARY_R64_TEST_T,      fsubr_r80_by_r64   );
    586 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,   FPU_BINARY_R64_TEST_T,      fdiv_r80_by_r64    );
    587 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,   FPU_BINARY_R64_TEST_T,      fdivr_r80_by_r64   );
    588 
    589 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,   FPU_BINARY_R32_TEST_T,      fadd_r80_by_r32    );
    590 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,   FPU_BINARY_R32_TEST_T,      fmul_r80_by_r32    );
    591 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,   FPU_BINARY_R32_TEST_T,      fsub_r80_by_r32    );
    592 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,   FPU_BINARY_R32_TEST_T,      fsubr_r80_by_r32   );
    593 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,   FPU_BINARY_R32_TEST_T,      fdiv_r80_by_r32    );
    594 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,   FPU_BINARY_R32_TEST_T,      fdivr_r80_by_r32   );
    595 
    596 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1,   FPU_BINARY_R80_TEST_T,      fcom_r80_by_r80    );
    597 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1,   FPU_BINARY_R80_TEST_T,      fucom_r80_by_r80   );
    598 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,   FPU_BINARY_R64_TEST_T,      fcom_r80_by_r64    );
    599 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,   FPU_BINARY_R32_TEST_T,      fcom_r80_by_r32    );
    600 
    601 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1,   FPU_BINARY_EFL_R80_TEST_T,  fcomi_r80_by_r80   );
    602 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1,   FPU_BINARY_EFL_R80_TEST_T,  fucomi_r80_by_r80  );
    603 
    604 
    605 #endif /* VMM_INCLUDED_SRC_testcase_tstIEMAImpl_h */
     308TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU8_TEST_T,               add_u8                   );
     309TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU8_TEST_T,               add_u8_locked            );
     310TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU8_TEST_T,               adc_u8                   );
     311TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU8_TEST_T,               adc_u8_locked            );
     312TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU8_TEST_T,               sub_u8                   );
     313TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU8_TEST_T,               sub_u8_locked            );
     314TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU8_TEST_T,               sbb_u8                   );
     315TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU8_TEST_T,               sbb_u8_locked            );
     316TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU8_TEST_T,               or_u8                    );
     317TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU8_TEST_T,               or_u8_locked             );
     318TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU8_TEST_T,               xor_u8                   );
     319TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU8_TEST_T,               xor_u8_locked            );
     320TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU8_TEST_T,               and_u8                   );
     321TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU8_TEST_T,               and_u8_locked            );
     322TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU8_TEST_T,               cmp_u8                   );
     323TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU8_TEST_T,               test_u8                  );
     324
     325TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU16_TEST_T,              add_u16                  );
     326TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU16_TEST_T,              add_u16_locked           );
     327TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU16_TEST_T,              adc_u16                  );
     328TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU16_TEST_T,              adc_u16_locked           );
     329TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU16_TEST_T,              sub_u16                  );
     330TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU16_TEST_T,              sub_u16_locked           );
     331TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU16_TEST_T,              sbb_u16                  );
     332TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU16_TEST_T,              sbb_u16_locked           );
     333TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU16_TEST_T,              or_u16                   );
     334TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU16_TEST_T,              or_u16_locked            );
     335TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU16_TEST_T,              xor_u16                  );
     336TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU16_TEST_T,              xor_u16_locked           );
     337TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU16_TEST_T,              and_u16                  );
     338TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU16_TEST_T,              and_u16_locked           );
     339TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU16_TEST_T,              cmp_u16                  );
     340TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU16_TEST_T,              test_u16                 );
     341TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU16_TEST_T,              bt_u16                   );
     342TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU16_TEST_T,              btc_u16                  );
     343TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU16_TEST_T,              btc_u16_locked           );
     344TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU16_TEST_T,              btr_u16                  );
     345TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU16_TEST_T,              btr_u16_locked           );
     346TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU16_TEST_T,              bts_u16                  );
     347TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU16_TEST_T,              bts_u16_locked           );
     348TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU16_TEST_T,              arpl                     );
     349TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          BINU16_TEST_T,              bsf_u16_amd              );
     350TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          BINU16_TEST_T,              bsr_u16_amd              );
     351TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          BINU16_TEST_T,              imul_two_u16_amd         );
     352TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        BINU16_TEST_T,              bsf_u16_intel            );
     353TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        BINU16_TEST_T,              bsr_u16_intel            );
     354TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        BINU16_TEST_T,              imul_two_u16_intel       );
     355
     356TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU32_TEST_T,              add_u32                  );
     357TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU32_TEST_T,              add_u32_locked           );
     358TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU32_TEST_T,              adc_u32                  );
     359TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU32_TEST_T,              adc_u32_locked           );
     360TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU32_TEST_T,              sub_u32                  );
     361TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU32_TEST_T,              sub_u32_locked           );
     362TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU32_TEST_T,              sbb_u32                  );
     363TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU32_TEST_T,              sbb_u32_locked           );
     364TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU32_TEST_T,              or_u32                   );
     365TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU32_TEST_T,              or_u32_locked            );
     366TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU32_TEST_T,              xor_u32                  );
     367TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU32_TEST_T,              xor_u32_locked           );
     368TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU32_TEST_T,              and_u32                  );
     369TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU32_TEST_T,              and_u32_locked           );
     370TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU32_TEST_T,              cmp_u32                  );
     371TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU32_TEST_T,              test_u32                 );
     372TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU32_TEST_T,              bt_u32                   );
     373TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU32_TEST_T,              btc_u32                  );
     374TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU32_TEST_T,              btc_u32_locked           );
     375TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU32_TEST_T,              btr_u32                  );
     376TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU32_TEST_T,              btr_u32_locked           );
     377TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU32_TEST_T,              bts_u32                  );
     378TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU32_TEST_T,              bts_u32_locked           );
     379TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          BINU32_TEST_T,              bsf_u32_amd              );
     380TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          BINU32_TEST_T,              bsr_u32_amd              );
     381TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          BINU32_TEST_T,              imul_two_u32_amd         );
     382TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        BINU32_TEST_T,              bsf_u32_intel            );
     383TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        BINU32_TEST_T,              bsr_u32_intel            );
     384TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        BINU32_TEST_T,              imul_two_u32_intel       );
     385
     386TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU64_TEST_T,              add_u64                  );
     387TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU64_TEST_T,              add_u64_locked           );
     388TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU64_TEST_T,              adc_u64                  );
     389TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU64_TEST_T,              adc_u64_locked           );
     390TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU64_TEST_T,              sub_u64                  );
     391TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU64_TEST_T,              sub_u64_locked           );
     392TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU64_TEST_T,              sbb_u64                  );
     393TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU64_TEST_T,              sbb_u64_locked           );
     394TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU64_TEST_T,              or_u64                   );
     395TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU64_TEST_T,              or_u64_locked            );
     396TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU64_TEST_T,              xor_u64                  );
     397TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU64_TEST_T,              xor_u64_locked           );
     398TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU64_TEST_T,              and_u64                  );
     399TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU64_TEST_T,              and_u64_locked           );
     400TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU64_TEST_T,              cmp_u64                  );
     401TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU64_TEST_T,              test_u64                 );
     402TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU64_TEST_T,              bt_u64                   );
     403TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU64_TEST_T,              btc_u64                  );
     404TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU64_TEST_T,              btc_u64_locked           );
     405TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU64_TEST_T,              btr_u64                  );
     406TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU64_TEST_T,              btr_u64_locked           );
     407TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU64_TEST_T,              bts_u64                  );
     408TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU64_TEST_T,              bts_u64_locked           );
     409TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          BINU64_TEST_T,              bsf_u64_amd              );
     410TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          BINU64_TEST_T,              bsr_u64_amd              );
     411TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          BINU64_TEST_T,              imul_two_u64_amd         );
     412TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        BINU64_TEST_T,              bsf_u64_intel            );
     413TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        BINU64_TEST_T,              bsr_u64_intel            );
     414TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        BINU64_TEST_T,              imul_two_u64_intel       );
     415
     416TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          BINU16_TEST_T,              shrd_u16_amd             );
     417TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          BINU16_TEST_T,              shld_u16_amd             );
     418TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          BINU32_TEST_T,              shrd_u32_amd             );
     419TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          BINU32_TEST_T,              shld_u32_amd             );
     420TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          BINU64_TEST_T,              shrd_u64_amd             );
     421TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          BINU64_TEST_T,              shld_u64_amd             );
     422TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        BINU16_TEST_T,              shrd_u16_intel           );
     423TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        BINU16_TEST_T,              shld_u16_intel           );
     424TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        BINU32_TEST_T,              shrd_u32_intel           );
     425TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        BINU32_TEST_T,              shld_u32_intel           );
     426TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        BINU64_TEST_T,              shrd_u64_intel           );
     427TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        BINU64_TEST_T,              shld_u64_intel           );
     428
     429TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU8_TEST_T,               inc_u8                   );
     430TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU8_TEST_T,               inc_u8_locked            );
     431TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU8_TEST_T,               dec_u8                   );
     432TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU8_TEST_T,               dec_u8_locked            );
     433TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU8_TEST_T,               not_u8                   );
     434TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU8_TEST_T,               not_u8_locked            );
     435TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU8_TEST_T,               neg_u8                   );
     436TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU8_TEST_T,               neg_u8_locked            );
     437
     438TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU16_TEST_T,              inc_u16                  );
     439TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU16_TEST_T,              inc_u16_locked           );
     440TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU16_TEST_T,              dec_u16                  );
     441TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU16_TEST_T,              dec_u16_locked           );
     442TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU16_TEST_T,              not_u16                  );
     443TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU16_TEST_T,              not_u16_locked           );
     444TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU16_TEST_T,              neg_u16                  );
     445TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU16_TEST_T,              neg_u16_locked           );
     446
     447TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU32_TEST_T,              inc_u32                  );
     448TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU32_TEST_T,              inc_u32_locked           );
     449TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU32_TEST_T,              dec_u32                  );
     450TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU32_TEST_T,              dec_u32_locked           );
     451TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU32_TEST_T,              not_u32                  );
     452TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU32_TEST_T,              not_u32_locked           );
     453TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU32_TEST_T,              neg_u32                  );
     454TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU32_TEST_T,              neg_u32_locked           );
     455
     456TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU64_TEST_T,              inc_u64                  );
     457TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU64_TEST_T,              inc_u64_locked           );
     458TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU64_TEST_T,              dec_u64                  );
     459TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU64_TEST_T,              dec_u64_locked           );
     460TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU64_TEST_T,              not_u64                  );
     461TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU64_TEST_T,              not_u64_locked           );
     462TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU64_TEST_T,              neg_u64                  );
     463TSTIEM_DECLARE_TEST_ARRAY(Int,              BINU64_TEST_T,              neg_u64_locked           );
     464
     465TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          BINU8_TEST_T,               rol_u8_amd               );
     466TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          BINU8_TEST_T,               ror_u8_amd               );
     467TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          BINU8_TEST_T,               rcl_u8_amd               );
     468TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          BINU8_TEST_T,               rcr_u8_amd               );
     469TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          BINU8_TEST_T,               shl_u8_amd               );
     470TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          BINU8_TEST_T,               shr_u8_amd               );
     471TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          BINU8_TEST_T,               sar_u8_amd               );
     472TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        BINU8_TEST_T,               rol_u8_intel             );
     473TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        BINU8_TEST_T,               ror_u8_intel             );
     474TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        BINU8_TEST_T,               rcl_u8_intel             );
     475TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        BINU8_TEST_T,               rcr_u8_intel             );
     476TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        BINU8_TEST_T,               shl_u8_intel             );
     477TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        BINU8_TEST_T,               shr_u8_intel             );
     478TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        BINU8_TEST_T,               sar_u8_intel             );
     479
     480TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          BINU16_TEST_T,              rol_u16_amd              );
     481TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          BINU16_TEST_T,              ror_u16_amd              );
     482TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          BINU16_TEST_T,              rcl_u16_amd              );
     483TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          BINU16_TEST_T,              rcr_u16_amd              );
     484TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          BINU16_TEST_T,              shl_u16_amd              );
     485TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          BINU16_TEST_T,              shr_u16_amd              );
     486TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          BINU16_TEST_T,              sar_u16_amd              );
     487TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        BINU16_TEST_T,              rol_u16_intel            );
     488TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        BINU16_TEST_T,              ror_u16_intel            );
     489TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        BINU16_TEST_T,              rcl_u16_intel            );
     490TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        BINU16_TEST_T,              rcr_u16_intel            );
     491TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        BINU16_TEST_T,              shl_u16_intel            );
     492TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        BINU16_TEST_T,              shr_u16_intel            );
     493TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        BINU16_TEST_T,              sar_u16_intel            );
     494
     495TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          BINU32_TEST_T,              rol_u32_amd              );
     496TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          BINU32_TEST_T,              ror_u32_amd              );
     497TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          BINU32_TEST_T,              rcl_u32_amd              );
     498TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          BINU32_TEST_T,              rcr_u32_amd              );
     499TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          BINU32_TEST_T,              shl_u32_amd              );
     500TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          BINU32_TEST_T,              shr_u32_amd              );
     501TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          BINU32_TEST_T,              sar_u32_amd              );
     502TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        BINU32_TEST_T,              rol_u32_intel            );
     503TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        BINU32_TEST_T,              ror_u32_intel            );
     504TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        BINU32_TEST_T,              rcl_u32_intel            );
     505TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        BINU32_TEST_T,              rcr_u32_intel            );
     506TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        BINU32_TEST_T,              shl_u32_intel            );
     507TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        BINU32_TEST_T,              shr_u32_intel            );
     508TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        BINU32_TEST_T,              sar_u32_intel            );
     509
     510TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          BINU64_TEST_T,              rol_u64_amd              );
     511TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          BINU64_TEST_T,              ror_u64_amd              );
     512TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          BINU64_TEST_T,              rcl_u64_amd              );
     513TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          BINU64_TEST_T,              rcr_u64_amd              );
     514TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          BINU64_TEST_T,              shl_u64_amd              );
     515TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          BINU64_TEST_T,              shr_u64_amd              );
     516TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          BINU64_TEST_T,              sar_u64_amd              );
     517TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        BINU64_TEST_T,              rol_u64_intel            );
     518TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        BINU64_TEST_T,              ror_u64_intel            );
     519TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        BINU64_TEST_T,              rcl_u64_intel            );
     520TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        BINU64_TEST_T,              rcr_u64_intel            );
     521TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        BINU64_TEST_T,              shl_u64_intel            );
     522TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        BINU64_TEST_T,              shr_u64_intel            );
     523TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        BINU64_TEST_T,              sar_u64_intel            );
     524
     525TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          MULDIVU8_TEST_T,            mul_u8_amd               );
     526TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          MULDIVU8_TEST_T,            imul_u8_amd              );
     527TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          MULDIVU8_TEST_T,            div_u8_amd               );
     528TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          MULDIVU8_TEST_T,            idiv_u8_amd              );
     529TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        MULDIVU8_TEST_T,            mul_u8_intel             );
     530TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        MULDIVU8_TEST_T,            imul_u8_intel            );
     531TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        MULDIVU8_TEST_T,            div_u8_intel             );
     532TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        MULDIVU8_TEST_T,            idiv_u8_intel            );
     533
     534TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          MULDIVU16_TEST_T,           mul_u16_amd              );
     535TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          MULDIVU16_TEST_T,           imul_u16_amd             );
     536TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          MULDIVU16_TEST_T,           div_u16_amd              );
     537TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          MULDIVU16_TEST_T,           idiv_u16_amd             );
     538TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        MULDIVU16_TEST_T,           mul_u16_intel            );
     539TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        MULDIVU16_TEST_T,           imul_u16_intel           );
     540TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        MULDIVU16_TEST_T,           div_u16_intel            );
     541TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        MULDIVU16_TEST_T,           idiv_u16_intel           );
     542
     543TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          MULDIVU32_TEST_T,           mul_u32_amd              );
     544TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          MULDIVU32_TEST_T,           imul_u32_amd             );
     545TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          MULDIVU32_TEST_T,           div_u32_amd              );
     546TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          MULDIVU32_TEST_T,           idiv_u32_amd             );
     547TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        MULDIVU32_TEST_T,           mul_u32_intel            );
     548TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        MULDIVU32_TEST_T,           imul_u32_intel           );
     549TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        MULDIVU32_TEST_T,           div_u32_intel            );
     550TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        MULDIVU32_TEST_T,           idiv_u32_intel           );
     551
     552TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          MULDIVU64_TEST_T,           mul_u64_amd              );
     553TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          MULDIVU64_TEST_T,           imul_u64_amd             );
     554TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          MULDIVU64_TEST_T,           div_u64_amd              );
     555TSTIEM_DECLARE_TEST_ARRAY(Int-Amd,          MULDIVU64_TEST_T,           idiv_u64_amd             );
     556TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        MULDIVU64_TEST_T,           mul_u64_intel            );
     557TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        MULDIVU64_TEST_T,           imul_u64_intel           );
     558TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        MULDIVU64_TEST_T,           div_u64_intel            );
     559TSTIEM_DECLARE_TEST_ARRAY(Int-Intel,        MULDIVU64_TEST_T,           idiv_u64_intel           );
     560
     561TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,          FPU_LD_CONST_TEST_T,        fld1                     );
     562TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,          FPU_LD_CONST_TEST_T,        fldl2t                   );
     563TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,          FPU_LD_CONST_TEST_T,        fldl2e                   );
     564TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,          FPU_LD_CONST_TEST_T,        fldpi                    );
     565TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,          FPU_LD_CONST_TEST_T,        fldlg2                   );
     566TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,          FPU_LD_CONST_TEST_T,        fldln2                   );
     567TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,          FPU_LD_CONST_TEST_T,        fldz                     );
     568
     569TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,          FPU_R80_IN_TEST_T,          fld_r80_from_r80         );
     570TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,          FPU_R64_IN_TEST_T,          fld_r80_from_r64         );
     571TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,          FPU_R32_IN_TEST_T,          fld_r80_from_r32         );
     572TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,          FPU_I64_IN_TEST_T,          fild_r80_from_i64        );
     573TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,          FPU_I32_IN_TEST_T,          fild_r80_from_i32        );
     574TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,          FPU_I16_IN_TEST_T,          fild_r80_from_i16        );
     575TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,          FPU_D80_IN_TEST_T,          fld_r80_from_d80         );
     576
     577TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,          FPU_ST_R80_TEST_T,          fst_r80_to_r80           );
     578TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,          FPU_ST_R64_TEST_T,          fst_r80_to_r64           );
     579TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,          FPU_ST_R32_TEST_T,          fst_r80_to_r32           );
     580TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,          FPU_ST_I64_TEST_T,          fist_r80_to_i64          );
     581TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,          FPU_ST_I32_TEST_T,          fist_r80_to_i32          );
     582TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,          FPU_ST_I16_TEST_T,          fist_r80_to_i16          );
     583TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,          FPU_ST_I64_TEST_T,          fistt_r80_to_i64         );
     584TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,          FPU_ST_I32_TEST_T,          fistt_r80_to_i32         );
     585TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt-Amd,      FPU_ST_I16_TEST_T,          fistt_r80_to_i16_amd     );
     586TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt-Intel,    FPU_ST_I16_TEST_T,          fistt_r80_to_i16_intel   );
     587TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,          FPU_ST_D80_TEST_T,          fst_r80_to_d80           );
     588
     589TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1,       FPU_BINARY_R80_TEST_T,      fadd_r80_by_r80          );
     590TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1,       FPU_BINARY_R80_TEST_T,      fsub_r80_by_r80          );
     591TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1,       FPU_BINARY_R80_TEST_T,      fsubr_r80_by_r80         );
     592TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1,       FPU_BINARY_R80_TEST_T,      fmul_r80_by_r80          );
     593TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1,       FPU_BINARY_R80_TEST_T,      fdiv_r80_by_r80          );
     594TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1,       FPU_BINARY_R80_TEST_T,      fdivr_r80_by_r80         );
     595TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1,       FPU_BINARY_R80_TEST_T,      fprem_r80_by_r80         );
     596TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1,       FPU_BINARY_R80_TEST_T,      fprem1_r80_by_r80        );
     597TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1,       FPU_BINARY_R80_TEST_T,      fscale_r80_by_r80        );
     598TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1-Amd,   FPU_BINARY_R80_TEST_T,      fpatan_r80_by_r80_amd    );
     599TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1-Intel, FPU_BINARY_R80_TEST_T,      fpatan_r80_by_r80_intel  );
     600TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1-Amd,   FPU_BINARY_R80_TEST_T,      fyl2x_r80_by_r80_amd     );
     601TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1-Intel, FPU_BINARY_R80_TEST_T,      fyl2x_r80_by_r80_intel   );
     602TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1-Amd,   FPU_BINARY_R80_TEST_T,      fyl2xp1_r80_by_r80_amd   );
     603TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1-Intel, FPU_BINARY_R80_TEST_T,      fyl2xp1_r80_by_r80_intel );
     604
     605TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,       FPU_BINARY_R64_TEST_T,      fadd_r80_by_r64          );
     606TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,       FPU_BINARY_R64_TEST_T,      fmul_r80_by_r64          );
     607TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,       FPU_BINARY_R64_TEST_T,      fsub_r80_by_r64          );
     608TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,       FPU_BINARY_R64_TEST_T,      fsubr_r80_by_r64         );
     609TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,       FPU_BINARY_R64_TEST_T,      fdiv_r80_by_r64          );
     610TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,       FPU_BINARY_R64_TEST_T,      fdivr_r80_by_r64         );
     611
     612TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,       FPU_BINARY_R32_TEST_T,      fadd_r80_by_r32          );
     613TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,       FPU_BINARY_R32_TEST_T,      fmul_r80_by_r32          );
     614TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,       FPU_BINARY_R32_TEST_T,      fsub_r80_by_r32          );
     615TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,       FPU_BINARY_R32_TEST_T,      fsubr_r80_by_r32         );
     616TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,       FPU_BINARY_R32_TEST_T,      fdiv_r80_by_r32          );
     617TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,       FPU_BINARY_R32_TEST_T,      fdivr_r80_by_r32         );
     618
     619TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1,       FPU_BINARY_R80_TEST_T,      fcom_r80_by_r80          );
     620TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1,       FPU_BINARY_R80_TEST_T,      fucom_r80_by_r80         );
     621TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,       FPU_BINARY_R64_TEST_T,      fcom_r80_by_r64          );
     622TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,       FPU_BINARY_R32_TEST_T,      fcom_r80_by_r32          );
     623
     624TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1,       FPU_BINARY_EFL_R80_TEST_T,  fcomi_r80_by_r80         );
     625TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1,       FPU_BINARY_EFL_R80_TEST_T,  fucomi_r80_by_r80        );
     626
     627#endif /* !VMM_INCLUDED_SRC_testcase_tstIEMAImpl_h */
     628
Note: See TracChangeset for help on using the changeset viewer.

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