VirtualBox

Changeset 103064 in vbox


Ignore:
Timestamp:
Jan 25, 2024 2:41:25 PM (10 months ago)
Author:
vboxsync
Message:

tstIEMAImpl: Working on converting the C++ data to compressed binary. FP. bugref:9898

Location:
trunk/src/VBox/VMM/testcase
Files:
10 deleted
5 edited

Legend:

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

    r103056 r103064  
    484484        tstIEMAImplDataInt-xor_u64_locked.bin.gz \
    485485        \
     486        tstIEMAImplDataFpuBinary1-fadd_r80_by_r80.bin.gz \
     487        tstIEMAImplDataFpuBinary1-fcomi_r80_by_r80.bin.gz \
     488        tstIEMAImplDataFpuBinary1-fcom_r80_by_r80.bin.gz \
     489        tstIEMAImplDataFpuBinary1-fdivr_r80_by_r80.bin.gz \
     490        tstIEMAImplDataFpuBinary1-fdiv_r80_by_r80.bin.gz \
     491        tstIEMAImplDataFpuBinary1-fmul_r80_by_r80.bin.gz \
     492        tstIEMAImplDataFpuBinary1-fpatan_r80_by_r80_amd.bin.gz \
     493        tstIEMAImplDataFpuBinary1-fpatan_r80_by_r80_intel.bin.gz \
     494        tstIEMAImplDataFpuBinary1-fprem1_r80_by_r80.bin.gz \
     495        tstIEMAImplDataFpuBinary1-fprem_r80_by_r80.bin.gz \
     496        tstIEMAImplDataFpuBinary1-fscale_r80_by_r80.bin.gz \
     497        tstIEMAImplDataFpuBinary1-fsubr_r80_by_r80.bin.gz \
     498        tstIEMAImplDataFpuBinary1-fsub_r80_by_r80.bin.gz \
     499        tstIEMAImplDataFpuBinary1-fucomi_r80_by_r80.bin.gz \
     500        tstIEMAImplDataFpuBinary1-fucom_r80_by_r80.bin.gz \
     501        tstIEMAImplDataFpuBinary1-fyl2xp1_r80_by_r80_amd.bin.gz \
     502        tstIEMAImplDataFpuBinary1-fyl2xp1_r80_by_r80_intel.bin.gz \
     503        tstIEMAImplDataFpuBinary1-fyl2x_r80_by_r80_amd.bin.gz \
     504        tstIEMAImplDataFpuBinary1-fyl2x_r80_by_r80_intel.bin.gz \
     505        tstIEMAImplDataFpuBinary2-fadd_r80_by_r32.bin.gz \
     506        tstIEMAImplDataFpuBinary2-fadd_r80_by_r64.bin.gz \
     507        tstIEMAImplDataFpuBinary2-fcom_r80_by_r32.bin.gz \
     508        tstIEMAImplDataFpuBinary2-fcom_r80_by_r64.bin.gz \
     509        tstIEMAImplDataFpuBinary2-fdivr_r80_by_r32.bin.gz \
     510        tstIEMAImplDataFpuBinary2-fdivr_r80_by_r64.bin.gz \
     511        tstIEMAImplDataFpuBinary2-fdiv_r80_by_r32.bin.gz \
     512        tstIEMAImplDataFpuBinary2-fdiv_r80_by_r64.bin.gz \
     513        tstIEMAImplDataFpuBinary2-fiadd_r80_by_i16.bin.gz \
     514        tstIEMAImplDataFpuBinary2-fiadd_r80_by_i32.bin.gz \
     515        tstIEMAImplDataFpuBinary2-ficom_r80_by_i16.bin.gz \
     516        tstIEMAImplDataFpuBinary2-ficom_r80_by_i32.bin.gz \
     517        tstIEMAImplDataFpuBinary2-fidivr_r80_by_i16.bin.gz \
     518        tstIEMAImplDataFpuBinary2-fidivr_r80_by_i32.bin.gz \
     519        tstIEMAImplDataFpuBinary2-fidiv_r80_by_i16.bin.gz \
     520        tstIEMAImplDataFpuBinary2-fidiv_r80_by_i32.bin.gz \
     521        tstIEMAImplDataFpuBinary2-fimul_r80_by_i16.bin.gz \
     522        tstIEMAImplDataFpuBinary2-fimul_r80_by_i32.bin.gz \
     523        tstIEMAImplDataFpuBinary2-fisubr_r80_by_i16.bin.gz \
     524        tstIEMAImplDataFpuBinary2-fisubr_r80_by_i32.bin.gz \
     525        tstIEMAImplDataFpuBinary2-fisub_r80_by_i16.bin.gz \
     526        tstIEMAImplDataFpuBinary2-fisub_r80_by_i32.bin.gz \
     527        tstIEMAImplDataFpuBinary2-fmul_r80_by_r32.bin.gz \
     528        tstIEMAImplDataFpuBinary2-fmul_r80_by_r64.bin.gz \
     529        tstIEMAImplDataFpuBinary2-fsubr_r80_by_r32.bin.gz \
     530        tstIEMAImplDataFpuBinary2-fsubr_r80_by_r64.bin.gz \
     531        tstIEMAImplDataFpuBinary2-fsub_r80_by_r32.bin.gz \
     532        tstIEMAImplDataFpuBinary2-fsub_r80_by_r64.bin.gz \
     533        tstIEMAImplDataFpuLdSt-fild_r80_from_i16.bin.gz \
     534        tstIEMAImplDataFpuLdSt-fild_r80_from_i32.bin.gz \
     535        tstIEMAImplDataFpuLdSt-fild_r80_from_i64.bin.gz \
     536        tstIEMAImplDataFpuLdSt-fistt_r80_to_i16_amd.bin.gz \
     537        tstIEMAImplDataFpuLdSt-fistt_r80_to_i16_intel.bin.gz \
     538        tstIEMAImplDataFpuLdSt-fistt_r80_to_i32.bin.gz \
     539        tstIEMAImplDataFpuLdSt-fistt_r80_to_i64.bin.gz \
     540        tstIEMAImplDataFpuLdSt-fist_r80_to_i16.bin.gz \
     541        tstIEMAImplDataFpuLdSt-fist_r80_to_i32.bin.gz \
     542        tstIEMAImplDataFpuLdSt-fist_r80_to_i64.bin.gz \
     543        tstIEMAImplDataFpuLdSt-fld1.bin.gz \
     544        tstIEMAImplDataFpuLdSt-fldl2e.bin.gz \
     545        tstIEMAImplDataFpuLdSt-fldl2t.bin.gz \
     546        tstIEMAImplDataFpuLdSt-fldlg2.bin.gz \
     547        tstIEMAImplDataFpuLdSt-fldln2.bin.gz \
     548        tstIEMAImplDataFpuLdSt-fldpi.bin.gz \
     549        tstIEMAImplDataFpuLdSt-fldz.bin.gz \
     550        tstIEMAImplDataFpuLdSt-fld_r80_from_d80.bin.gz \
     551        tstIEMAImplDataFpuLdSt-fld_r80_from_r32.bin.gz \
     552        tstIEMAImplDataFpuLdSt-fld_r80_from_r64.bin.gz \
     553        tstIEMAImplDataFpuLdSt-fld_r80_from_r80.bin.gz \
     554        tstIEMAImplDataFpuLdSt-fst_r80_to_d80.bin.gz \
     555        tstIEMAImplDataFpuLdSt-fst_r80_to_r32.bin.gz \
     556        tstIEMAImplDataFpuLdSt-fst_r80_to_r64.bin.gz \
     557        tstIEMAImplDataFpuLdSt-fst_r80_to_r80.bin.gz \
     558        tstIEMAImplDataFpuOther-f2xm1_r80_amd.bin.gz \
     559        tstIEMAImplDataFpuOther-f2xm1_r80_intel.bin.gz \
     560        tstIEMAImplDataFpuOther-fabs_r80.bin.gz \
     561        tstIEMAImplDataFpuOther-fchs_r80.bin.gz \
     562        tstIEMAImplDataFpuOther-fcos_r80_amd.bin.gz \
     563        tstIEMAImplDataFpuOther-fcos_r80_intel.bin.gz \
     564        tstIEMAImplDataFpuOther-fptan_r80_r80_amd.bin.gz \
     565        tstIEMAImplDataFpuOther-fptan_r80_r80_intel.bin.gz \
     566        tstIEMAImplDataFpuOther-frndint_r80.bin.gz \
     567        tstIEMAImplDataFpuOther-fsincos_r80_r80_amd.bin.gz \
     568        tstIEMAImplDataFpuOther-fsincos_r80_r80_intel.bin.gz \
     569        tstIEMAImplDataFpuOther-fsin_r80_amd.bin.gz \
     570        tstIEMAImplDataFpuOther-fsin_r80_intel.bin.gz \
     571        tstIEMAImplDataFpuOther-fsqrt_r80.bin.gz \
     572        tstIEMAImplDataFpuOther-ftst_r80.bin.gz \
     573        tstIEMAImplDataFpuOther-fxam_r80.bin.gz \
     574        tstIEMAImplDataFpuOther-fxtract_r80_r80.bin.gz \
     575       \
    486576        tstIEMAImplDataSseBinary-addps_u128.bin.gz \
    487577        tstIEMAImplDataSseBinary-mulps_u128.bin.gz \
     
    567657tstIEMAImpl_SDKS      = VBoxSoftFloatR3Shared
    568658tstIEMAImpl_INCS      = ../include .
    569 tstIEMAImpl_CLEAN     = \
    570         $(tstIEMAImpl_0_OUTDIR)/tstIEMAImplDataFpuLdSt.cpp \
    571         $(tstIEMAImpl_0_OUTDIR)/tstIEMAImplDataFpuLdSt-Amd.cpp \
    572         $(tstIEMAImpl_0_OUTDIR)/tstIEMAImplDataFpuLdSt-Intel.cpp \
    573         $(tstIEMAImpl_0_OUTDIR)/tstIEMAImplDataFpuBinary1.cpp \
    574         $(tstIEMAImpl_0_OUTDIR)/tstIEMAImplDataFpuBinary1-Amd.cpp \
    575         $(tstIEMAImpl_0_OUTDIR)/tstIEMAImplDataFpuBinary1-Intel.cpp \
    576         $(tstIEMAImpl_0_OUTDIR)/tstIEMAImplDataFpuBinary2.cpp \
    577         $(tstIEMAImpl_0_OUTDIR)/tstIEMAImplDataFpuOther.cpp \
    578         $(tstIEMAImpl_0_OUTDIR)/tstIEMAImplDataFpuOther-Amd.cpp \
    579         $(tstIEMAImpl_0_OUTDIR)/tstIEMAImplDataFpuOther-Intel.cpp
    580659tstIEMAImpl_SOURCES   = \
    581660        tstIEMAImpl.cpp \
     
    614693tstIEMAImplDataSseBinary.S_DEPS   = \
    615694        $(TSTIEMAIMPL_TEST_DATA_DEPS)
    616 
    617 ## @param 1   The sub-name of the file in question.
    618 define def_tstIEMAImplData_adjust
    619  $$(tstIEMAImpl_0_OUTDIR)/tstIEMAImplData$(1).cpp: \
    620                 $$(tstIEMAImpl_DEFPATH)/tstIEMAImplData$(1).cpp \
    621                 $$(tstIEMAImpl_DEFPATH)/tstIEMAImplData.sh \
    622                 $$(tstIEMAImpl_DEFPATH)/tstIEMAImpl.h \
    623                 | $$(tstIEMAImpl_0_OUTDIR)/
    624         $$(ASH) "$$(tstIEMAImpl_DEFPATH)/tstIEMAImplData.sh" \
    625                 "$$(CP_EXT)" \
    626                 "$$(MV_EXT)" \
    627                 "$$(SED_EXT)" \
    628                 "$$(APPEND_EXT)" \
    629                 "$$(tstIEMAImpl_0_OUTDIR)" \
    630                 "$$(tstIEMAImpl_DEFPATH)" \
    631                 "$(1)"
    632 endef
    633 $(evalcall2 def_tstIEMAImplData_adjust,FpuLdSt)
    634 $(evalcall2 def_tstIEMAImplData_adjust,FpuLdSt-Amd)
    635 $(evalcall2 def_tstIEMAImplData_adjust,FpuLdSt-Intel)
    636 $(evalcall2 def_tstIEMAImplData_adjust,FpuBinary1)
    637 $(evalcall2 def_tstIEMAImplData_adjust,FpuBinary1-Amd)
    638 $(evalcall2 def_tstIEMAImplData_adjust,FpuBinary1-Intel)
    639 $(evalcall2 def_tstIEMAImplData_adjust,FpuBinary2)
    640 $(evalcall2 def_tstIEMAImplData_adjust,FpuOther)
    641 $(evalcall2 def_tstIEMAImplData_adjust,FpuOther-Amd)
    642 $(evalcall2 def_tstIEMAImplData_adjust,FpuOther-Intel)
    643695
    644696
  • trunk/src/VBox/VMM/testcase/tstIEMAImpl.cpp

    r103060 r103064  
    5959*   Defined Constants And Macros                                                                                                 *
    6060*********************************************************************************************************************************/
    61 #define ENTRY(a_Name)                           ENTRY_EX(a_Name, 0)
    62 #define ENTRY_EX(a_Name, a_uExtra) \
    63     { RT_XSTR(a_Name), iemAImpl_ ## a_Name, NULL, \
    64       g_aTests_ ## a_Name, &g_cTests_ ## a_Name, \
    65       a_uExtra, IEMTARGETCPU_EFL_BEHAVIOR_NATIVE /* means same for all here */ }
    66 
    6761#define ENTRY_BIN_FIX(a_Name)                   ENTRY_BIN_FIX_EX(a_Name, 0)
    6862#ifdef TSTIEMAIMPL_WITH_GENERATOR
    6963# define ENTRY_BIN_FIX_EX(a_Name, a_uExtra) \
    7064    { RT_XSTR(a_Name), iemAImpl_ ## a_Name, NULL, \
    71       g_aTests_ ## a_Name, &g_cbTests_ ## a_Name, \
     65      g_abTests_ ## a_Name, &g_cbTests_ ## a_Name, \
    7266      a_uExtra, IEMTARGETCPU_EFL_BEHAVIOR_NATIVE /* means same for all here */, \
    73       true /*fBinary*/, true /*fCompressed*/, RT_ELEMENTS(g_aFixedTests_ ## a_Name), g_aFixedTests_ ## a_Name }
     67      RT_ELEMENTS(g_aFixedTests_ ## a_Name), g_aFixedTests_ ## a_Name }
    7468#else
    7569# define ENTRY_BIN_FIX_EX(a_Name, a_uExtra)     ENTRY_BIN_EX(a_Name, a_uExtra)
     
    7973#define ENTRY_BIN_PFN_CAST_EX(a_Name, a_pfnType, a_uExtra) \
    8074    { RT_XSTR(a_Name), (a_pfnType)iemAImpl_ ## a_Name, NULL, \
    81       g_aTests_ ## a_Name, &g_cbTests_ ## a_Name, \
    82       a_uExtra, IEMTARGETCPU_EFL_BEHAVIOR_NATIVE /* means same for all here */, true /*fBinary*/, true /*fCompressed*/ }
     75      g_abTests_ ## a_Name, &g_cbTests_ ## a_Name, \
     76      a_uExtra, IEMTARGETCPU_EFL_BEHAVIOR_NATIVE /* means same for all here */  }
    8377
    8478#define ENTRY_BIN(a_Name)                       ENTRY_BIN_EX(a_Name, 0)
    8579#define ENTRY_BIN_EX(a_Name, a_uExtra) \
    8680    { RT_XSTR(a_Name), iemAImpl_ ## a_Name, NULL, \
    87       g_aTests_ ## a_Name, &g_cbTests_ ## a_Name, \
    88       a_uExtra, IEMTARGETCPU_EFL_BEHAVIOR_NATIVE /* means same for all here */, true /*fBinary*/, true /*fCompressed*/ }
     81      g_abTests_ ## a_Name, &g_cbTests_ ## a_Name, \
     82      a_uExtra, IEMTARGETCPU_EFL_BEHAVIOR_NATIVE /* means same for all here */  }
    8983
    9084#define ENTRY_BIN_AVX(a_Name)                   ENTRY_BIN_AVX_EX(a_Name, 0)
     
    9286# define ENTRY_BIN_AVX_EX(a_Name, a_uExtra) \
    9387    { RT_XSTR(a_Name), iemAImpl_ ## a_Name, NULL, \
    94       g_aTests_ ## a_Name, &g_cbTests_ ## a_Name, \
    95       a_uExtra, IEMTARGETCPU_EFL_BEHAVIOR_NATIVE /* means same for all here */, true /*fBinary*/, true /*fCompressed*/ }
     88      g_abTests_ ## a_Name, &g_cbTests_ ## a_Name, \
     89      a_uExtra, IEMTARGETCPU_EFL_BEHAVIOR_NATIVE /* means same for all here */ }
    9690#else
    9791# define ENTRY_BIN_AVX_EX(a_Name, a_uExtra) \
    9892    { RT_XSTR(a_Name), iemAImpl_ ## a_Name ## _fallback, NULL, \
    99       g_aTests_ ## a_Name, &g_cbTests_ ## a_Name, \
    100       a_uExtra, IEMTARGETCPU_EFL_BEHAVIOR_NATIVE /* means same for all here */, true /*fBinary*/, true /*fCompressed*/ }
     93      g_abTests_ ## a_Name, &g_cbTests_ ## a_Name, \
     94      a_uExtra, IEMTARGETCPU_EFL_BEHAVIOR_NATIVE /* means same for all here */ }
    10195#endif
    10296
     
    10599# define ENTRY_BIN_SSE_OPT_EX(a_Name, a_uExtra) \
    106100    { RT_XSTR(a_Name), iemAImpl_ ## a_Name, NULL, \
    107       g_aTests_ ## a_Name, &g_cbTests_ ## a_Name, \
    108       a_uExtra, IEMTARGETCPU_EFL_BEHAVIOR_NATIVE /* means same for all here */, true /*fBinary*/, true /*fCompressed*/ }
     101      g_abTests_ ## a_Name, &g_cbTests_ ## a_Name, \
     102      a_uExtra, IEMTARGETCPU_EFL_BEHAVIOR_NATIVE /* means same for all here */ }
    109103#else
    110104# define ENTRY_BIN_SSE_OPT_EX(a_Name, a_uExtra) \
    111105    { RT_XSTR(a_Name), iemAImpl_ ## a_Name ## _fallback, NULL, \
    112       g_aTests_ ## a_Name, &g_cbTests_ ## a_Name, \
    113       a_uExtra, IEMTARGETCPU_EFL_BEHAVIOR_NATIVE /* means same for all here */, true /*fBinary*/, true /*fCompressed*/ }
     106      g_abTests_ ## a_Name, &g_cbTests_ ## a_Name, \
     107      a_uExtra, IEMTARGETCPU_EFL_BEHAVIOR_NATIVE /* means same for all here */ }
    114108#endif
    115109
     
    117111#define ENTRY_BIN_INTEL_EX(a_Name, a_fEflUndef, a_uExtra) \
    118112    { RT_XSTR(a_Name) "_intel", iemAImpl_ ## a_Name ## _intel, iemAImpl_ ## a_Name, \
    119       g_aTests_ ## a_Name ## _intel, &g_cbTests_ ## a_Name ## _intel, \
    120       a_uExtra, IEMTARGETCPU_EFL_BEHAVIOR_INTEL, true /*fBinary*/, true /*fCompressed*/  }
     113      g_abTests_ ## a_Name ## _intel, &g_cbTests_ ## a_Name ## _intel, \
     114      a_uExtra, IEMTARGETCPU_EFL_BEHAVIOR_INTEL  }
    121115
    122116#define ENTRY_BIN_AMD(a_Name, a_fEflUndef)      ENTRY_BIN_AMD_EX(a_Name, a_fEflUndef, 0)
    123117#define ENTRY_BIN_AMD_EX(a_Name, a_fEflUndef, a_uExtra) \
    124118    { RT_XSTR(a_Name) "_amd", iemAImpl_ ## a_Name ## _amd,   iemAImpl_ ## a_Name, \
    125       g_aTests_ ## a_Name ## _amd, &g_cbTests_ ## a_Name ## _amd, \
    126       a_uExtra, IEMTARGETCPU_EFL_BEHAVIOR_AMD, true /*fBinary*/, true /*fCompressed*/  }
    127 
    128 #define ENTRY_INTEL(a_Name, a_fEflUndef)        ENTRY_INTEL_EX(a_Name, a_fEflUndef, 0)
    129 #define ENTRY_INTEL_EX(a_Name, a_fEflUndef, a_uExtra) \
    130     { RT_XSTR(a_Name) "_intel", iemAImpl_ ## a_Name ## _intel, iemAImpl_ ## a_Name, \
    131       g_aTests_ ## a_Name ## _intel, &g_cTests_ ## a_Name ## _intel, \
    132       a_uExtra, IEMTARGETCPU_EFL_BEHAVIOR_INTEL }
    133 
    134 #define ENTRY_AMD(a_Name, a_fEflUndef)          ENTRY_AMD_EX(a_Name, a_fEflUndef, 0)
    135 #define ENTRY_AMD_EX(a_Name, a_fEflUndef, a_uExtra) \
    136     { RT_XSTR(a_Name) "_amd", iemAImpl_ ## a_Name ## _amd,   iemAImpl_ ## a_Name, \
    137       g_aTests_ ## a_Name ## _amd, &g_cTests_ ## a_Name ## _amd, \
    138       a_uExtra, IEMTARGETCPU_EFL_BEHAVIOR_AMD }
     119      g_abTests_ ## a_Name ## _amd, &g_cbTests_ ## a_Name ## _amd, \
     120      a_uExtra, IEMTARGETCPU_EFL_BEHAVIOR_AMD  }
    139121
    140122#define TYPEDEF_SUBTEST_TYPE(a_TypeName, a_TestType, a_FunctionPtrType) \
     
    144126        const a_FunctionPtrType     pfn; \
    145127        const a_FunctionPtrType     pfnNative; \
    146         a_TestType const           *paTests;     /**< These are update for compressed tests. */ \
    147         uint32_t const             *pcTests;     /**< These are update for compressed tests. */ \
     128        void const * const          pvCompressedTests; \
     129        uint32_t const             *pcbCompressedTests; \
    148130        uint32_t const              uExtra; \
    149131        uint8_t const               idxCpuEflFlavour; \
    150         bool const                  fBinary; \
    151         bool                        fCompressed; /**< This is cleared after decompressing the tests. */ \
    152132        uint16_t const              cFixedTests; \
    153133        a_TestType const * const    paFixedTests; \
     134        a_TestType const           *paTests; /**< The decompressed info. */ \
     135        uint32_t                    cTests;  /**< The decompressed info. */ \
    154136    } a_TypeName
    155137
     
    11091091        IEMBINARYOUTPUT BinOut; \
    11101092        AssertReturn(GENERATE_BINARY_OPEN(&BinOut, a_papszNameFmts, (a_Entry)), RTEXITCODE_FAILURE); \
    1111         uint32_t cbTests = (a_Entry).pcTests[0]; \
    1112         if (!(a_Entry).fBinary) \
    1113             cbTests *= sizeof((a_Entry).paTests[0]); \
    1114         GenerateBinaryWrite(&BinOut, (a_Entry).paTests, cbTests); \
     1093        GenerateBinaryWrite(&BinOut, (a_Entry).paTests, (a_Entry).cTests); \
    11151094        AssertReturn(GenerateBinaryClose(&BinOut), RTEXITCODE_FAILURE); \
    11161095    } while (0)
     
    11551134
    11561135/** Decompresses test data before use as required. */
    1157 static int DecompressBinaryTest(bool *pfCompressed, void **ppvTests, uint32_t const **ppcTests, size_t cbEntry, bool fBinary)
    1158 {
    1159     if (!*pfCompressed)
    1160         return VINF_SUCCESS;
    1161 
     1136static int DecompressBinaryTest(void const *pvCompressed, uint32_t cbCompressed, size_t cbEntry,
     1137                                void **ppvTests, uint32_t *pcTests)
     1138{
    11621139    /* Open a memory stream for the compressed binary data. */
    1163     uint32_t const cbCompressed = **ppcTests;
    11641140    RTVFSIOSTREAM  hVfsIos      = NIL_RTVFSIOSTREAM;
    1165     int rc = RTVfsIoStrmFromBuffer(RTFILE_O_READ, *ppvTests, cbCompressed, &hVfsIos);
     1141    int rc = RTVfsIoStrmFromBuffer(RTFILE_O_READ, pvCompressed, cbCompressed, &hVfsIos);
    11661142    RTTESTI_CHECK_RC_OK_RET(rc, rc);
    11671143
     
    12071183                            pbDecompressed = (uint8_t *)pvNew;
    12081184                    }
    1209                     uint32_t *pcTests = (uint32_t *)RTMemAlloc(sizeof(uint32_t));
    1210                     if (pcTests)
    1211                     {
    1212                         /* Done! */
    1213                         *pcTests      = (uint32_t)(fBinary ? off : off / cbEntry);
    1214                         *ppvTests     = pbDecompressed;
    1215                         *ppcTests     = pcTests;
    1216                         *pfCompressed = false;
    1217                         RTMEM_WILL_LEAK(pcTests);
    1218                         RTMEM_WILL_LEAK(pbDecompressed);
    1219 
    1220                         pbDecompressed = NULL;
    1221                         rc = VINF_SUCCESS;
    1222                     }
    1223                     else
    1224                     {
    1225                         RTTestIFailed("Out of memory decompressing test data (uint32_t)");
    1226                         rc = VERR_NO_MEMORY;
    1227                     }
     1185
     1186                    /* Done! */
     1187                    *pcTests      = (uint32_t)(off / cbEntry);
     1188                    *ppvTests     = pbDecompressed;
     1189                    RTMEM_WILL_LEAK(pbDecompressed);
     1190
     1191                    pbDecompressed = NULL;
     1192                    rc = VINF_SUCCESS;
    12281193                }
    12291194                else
     
    12491214
    12501215#define DECOMPRESS_TESTS(a_Entry) \
    1251     RT_SUCCESS(DecompressBinaryTest(&(a_Entry).fCompressed, (void **)&(a_Entry).paTests, &(a_Entry).pcTests, \
    1252                                     sizeof((a_Entry).paTests[0]), (a_Entry).fBinary))
     1216    RT_SUCCESS(DecompressBinaryTest((a_Entry).pvCompressedTests, *(a_Entry).pcbCompressedTests, sizeof((a_Entry).paTests[0]), \
     1217                                    (void **)&(a_Entry).paTests, &(a_Entry).cTests))
    12531218
    12541219
    12551220/** Decompresses test data before use as required. */
    1256 static int SubTestAndCheckIfEnabledAndDecompress(const char *pszName, size_t cbEntry, bool fBinary,
    1257                                                  bool *pfCompressed, void **ppvTests, uint32_t const **ppcTests)
     1221static int SubTestAndCheckIfEnabledAndDecompress(const char *pszName, void const *pvCompressed, uint32_t cbCompressed,
     1222                                                 size_t cbEntry, void **ppvTests, uint32_t *pcTests)
    12581223{
    12591224    if (SubTestAndCheckIfEnabled(pszName))
    12601225    {
    1261         int const rc = DecompressBinaryTest(pfCompressed, ppvTests, ppcTests, cbEntry, fBinary);
     1226        int const rc = DecompressBinaryTest(pvCompressed, cbCompressed, cbEntry, ppvTests, pcTests);
    12621227        if (RT_SUCCESS(rc))
    12631228            return true;
     
    12671232
    12681233#define SUBTEST_CHECK_IF_ENABLED_AND_DECOMPRESS(a_Entry) \
    1269     SubTestAndCheckIfEnabledAndDecompress((a_Entry).pszName, sizeof((a_Entry).paTests[0]), (a_Entry).fBinary, \
    1270                                           &(a_Entry).fCompressed, (void **)&(a_Entry).paTests, &(a_Entry).pcTests)
     1234    SubTestAndCheckIfEnabledAndDecompress((a_Entry).pszName, (a_Entry).pvCompressedTests, *(a_Entry).pcbCompressedTests, \
     1235                                          sizeof((a_Entry).paTests[0]), (void **)&(a_Entry).paTests, &(a_Entry).cTests)
    12711236
    12721237
     
    17011666            continue; \
    17021667        a_TestType const * const   paTests = a_aSubTests[iFn].paTests; \
    1703         uint32_t const             cTests  = *a_aSubTests[iFn].pcTests / sizeof(paTests[0]); \
     1668        uint32_t const             cTests  = a_aSubTests[iFn].cTests; \
    17041669        PFNIEMAIMPLBINU ## a_cBits pfn     = a_aSubTests[iFn].pfn; \
    17051670        uint32_t const             cVars   = COUNT_VARIATIONS(a_aSubTests[iFn]); \
     
    19921957            const char * const                  pszName; \
    19931958            FNIEMAIMPLXADDU ## a_cBits * const  pfn; \
    1994             bool                                fCompressed; \
    1995             bool                                fBinary; \
     1959            void const * const                  pvCompressedTests; \
     1960            uint32_t const * const              pcbCompressedTests; \
    19961961            BINU ## a_cBits ## _TEST_T const   *paTests; \
    1997             uint32_t const                     *pcTests; \
     1962            uint32_t                            cTests; \
    19981963        } s_aFuncs[] = \
    19991964        { \
    20001965            { "xadd_u" # a_cBits,            iemAImpl_xadd_u ## a_cBits, \
    2001               true, true, g_aTests_add_u ## a_cBits, &g_cbTests_add_u ## a_cBits }, \
     1966              g_abTests_add_u ## a_cBits, &g_cbTests_add_u ## a_cBits }, \
    20021967            { "xadd_u" # a_cBits "8_locked", iemAImpl_xadd_u ## a_cBits ## _locked, \
    2003               true, true, g_aTests_add_u ## a_cBits, &g_cbTests_add_u ## a_cBits }, \
     1968              g_abTests_add_u ## a_cBits, &g_cbTests_add_u ## a_cBits }, \
    20041969        }; \
    20051970        for (size_t iFn = 0; iFn < RT_ELEMENTS(s_aFuncs); iFn++) \
     
    20071972            if (!SUBTEST_CHECK_IF_ENABLED_AND_DECOMPRESS(s_aFuncs[iFn])) continue; \
    20081973            BINU ## a_cBits ## _TEST_T const * const paTests = s_aFuncs[iFn].paTests; \
    2009             uint32_t const                           cTests  = *s_aFuncs[iFn].pcTests / sizeof(paTests[0]); \
     1974            uint32_t const                           cTests  = s_aFuncs[iFn].cTests; \
    20101975            if (!cTests) RTTestSkipped(g_hTest, "no tests"); \
    20111976            for (uint32_t iTest = 0; iTest < cTests; iTest++) \
     
    20452010            FNIEMAIMPLCMPXCHGU ## a_cBits * const   pfn; \
    20462011            PFNIEMAIMPLBINU ## a_cBits const        pfnSub; \
    2047             bool                                    fCompressed; \
    2048             bool                                    fBinary; \
     2012            void const * const                      pvCompressedTests; \
     2013            uint32_t const * const                  pcbCompressedTests; \
    20492014            BINU ## a_cBits ## _TEST_T const       *paTests; \
    2050             uint32_t const                         *pcTests; \
     2015            uint32_t                                cTests; \
    20512016        } s_aFuncs[] = \
    20522017        { \
    20532018            { "cmpxchg_u" # a_cBits,           iemAImpl_cmpxchg_u ## a_cBits, iemAImpl_sub_u ## a_cBits, \
    2054               true, true, g_aTests_cmp_u ## a_cBits, &g_cbTests_cmp_u ## a_cBits }, \
     2019              g_abTests_cmp_u ## a_cBits, &g_cbTests_cmp_u ## a_cBits }, \
    20552020            { "cmpxchg_u" # a_cBits "_locked", iemAImpl_cmpxchg_u ## a_cBits ## _locked, iemAImpl_sub_u ## a_cBits, \
    2056               true, true, g_aTests_cmp_u ## a_cBits, &g_cbTests_cmp_u ## a_cBits }, \
     2021              g_abTests_cmp_u ## a_cBits, &g_cbTests_cmp_u ## a_cBits }, \
    20572022        }; \
    20582023        for (size_t iFn = 0; iFn < RT_ELEMENTS(s_aFuncs); iFn++) \
     
    20602025            if (!SUBTEST_CHECK_IF_ENABLED_AND_DECOMPRESS(s_aFuncs[iFn])) continue; \
    20612026            BINU ## a_cBits ## _TEST_T const * const paTests = s_aFuncs[iFn].paTests; \
    2062             uint32_t const                           cTests  = *s_aFuncs[iFn].pcTests / sizeof(paTests[0]); \
     2027            uint32_t const                           cTests  = s_aFuncs[iFn].cTests; \
    20632028            if (!cTests) RTTestSkipped(g_hTest, "no tests"); \
    20642029            for (uint32_t iTest = 0; iTest < cTests; iTest++) \
     
    23022267            continue; \
    23032268        a_TestType const * const        paTests = a_aSubTests[iFn].paTests; \
     2269        uint32_t const                  cTests  = a_aSubTests[iFn].cTests; \
    23042270        PFNIEMAIMPLSHIFTDBLU ## a_cBits pfn     = a_aSubTests[iFn].pfn; \
    2305         uint32_t const                  cTests  = *a_aSubTests[iFn].pcTests / sizeof(paTests[0]); \
    23062271        uint32_t const                  cVars   = COUNT_VARIATIONS(a_aSubTests[iFn]); \
    23072272        if (!cTests) RTTestSkipped(g_hTest, "no tests"); \
     
    24292394            continue; \
    24302395        a_TestType const * const paTests = g_aUnaryU ## a_cBits[iFn].paTests; \
    2431         uint32_t const           cTests  = *g_aUnaryU ## a_cBits[iFn].pcTests / sizeof(paTests[0]); \
     2396        uint32_t const           cTests  = g_aUnaryU ## a_cBits[iFn].cTests; \
    24322397        if (!cTests) RTTestSkipped(g_hTest, "no tests"); \
    24332398        for (uint32_t iTest = 0; iTest < cTests; iTest++ ) \
     
    25712536        PFNIEMAIMPLSHIFTU ## a_cBits pfn     = a_aSubTests[iFn].pfn; \
    25722537        a_TestType const * const     paTests = a_aSubTests[iFn].paTests; \
    2573         uint32_t const               cTests  = *a_aSubTests[iFn].pcTests / sizeof(paTests[0]); \
     2538        uint32_t const               cTests  = a_aSubTests[iFn].cTests; \
    25742539        uint32_t const               cVars   = COUNT_VARIATIONS(a_aSubTests[iFn]); \
    25752540        if (!cTests) RTTestSkipped(g_hTest, "no tests"); \
     
    27042669            continue; \
    27052670        MULDIVU8_TEST_T const * const paTests = g_aMulDivU8[iFn].paTests;
    2706         uint32_t const                cTests  = *g_aMulDivU8[iFn].pcTests / sizeof(paTests[0]);
     2671        uint32_t const                cTests  = g_aMulDivU8[iFn].cTests;
    27072672        uint32_t const                fEflIgn = g_aMulDivU8[iFn].uExtra;
    27082673        PFNIEMAIMPLMULDIVU8           pfn     = g_aMulDivU8[iFn].pfn;
     
    28032768            continue; \
    28042769        a_TestType const * const      paTests = a_aSubTests[iFn].paTests; \
    2805         uint32_t const                cTests  = *a_aSubTests[iFn].pcTests / sizeof(paTests[0]); \
     2770        uint32_t const                cTests  = a_aSubTests[iFn].cTests; \
    28062771        uint32_t const                fEflIgn = a_aSubTests[iFn].uExtra; \
    28072772        PFNIEMAIMPLMULDIVU ## a_cBits pfn     = a_aSubTests[iFn].pfn; \
     
    29362901static FPU_LD_CONST_T g_aFpuLdConst[] =
    29372902{
    2938     ENTRY(fld1),
    2939     ENTRY(fldl2t),
    2940     ENTRY(fldl2e),
    2941     ENTRY(fldpi),
    2942     ENTRY(fldlg2),
    2943     ENTRY(fldln2),
    2944     ENTRY(fldz),
     2903    ENTRY_BIN(fld1),
     2904    ENTRY_BIN(fldl2t),
     2905    ENTRY_BIN(fldl2e),
     2906    ENTRY_BIN(fldpi),
     2907    ENTRY_BIN(fldlg2),
     2908    ENTRY_BIN(fldln2),
     2909    ENTRY_BIN(fldz),
    29452910};
    29462911
     
    29972962            continue;
    29982963
    2999         uint32_t const              cTests  = *g_aFpuLdConst[iFn].pcTests;
    30002964        FPU_LD_CONST_TEST_T const  *paTests = g_aFpuLdConst[iFn].paTests;
     2965        uint32_t const              cTests  = g_aFpuLdConst[iFn].cTests;
    30012966        PFNIEMAIMPLFPUR80LDCONST    pfn     = g_aFpuLdConst[iFn].pfn;
    30022967        uint32_t const              cVars   = COUNT_VARIATIONS(g_aFpuLdConst[iFn]); \
     
    30753040static a_SubTestType a_aSubTests[] = \
    30763041{ \
    3077     ENTRY(RT_CONCAT(fld_r80_from_r,a_cBits)) \
     3042    ENTRY_BIN(RT_CONCAT(fld_r80_from_r,a_cBits)) \
    30783043}; \
    30793044GEN_FPU_LOAD(a_cBits, a_rdTypeIn, a_aSubTests, a_TestType) \
     
    30883053            continue; \
    30893054        \
    3090         uint32_t const                     cTests  = *a_aSubTests[iFn].pcTests; \
    30913055        a_TestType const           * const paTests = a_aSubTests[iFn].paTests; \
     3056        uint32_t const                     cTests  = a_aSubTests[iFn].cTests; \
    30923057        PFNIEMAIMPLFPULDR80FROM ## a_cBits pfn     = a_aSubTests[iFn].pfn; \
    30933058        uint32_t const                     cVars   = COUNT_VARIATIONS(a_aSubTests[iFn]); \
     
    32033168static a_SubTestType a_aSubTests[] = \
    32043169{ \
    3205     ENTRY(RT_CONCAT(fild_r80_from_i,a_cBits)) \
     3170    ENTRY_BIN(RT_CONCAT(fild_r80_from_i,a_cBits)) \
    32063171}; \
    32073172GEN_FPU_LOAD_INT(a_cBits, a_iTypeIn, a_szFmtIn, a_aSubTests, a_TestType) \
     
    32163181            continue; \
    32173182        \
    3218         uint32_t const                      cTests  = *a_aSubTests[iFn].pcTests; \
    32193183        a_TestType const            * const paTests = a_aSubTests[iFn].paTests; \
     3184        uint32_t const                      cTests  = a_aSubTests[iFn].cTests; \
    32203185        PFNIEMAIMPLFPULDR80FROMI ## a_cBits pfn     = a_aSubTests[iFn].pfn; \
    32213186        uint32_t const                      cVars   = COUNT_VARIATIONS(a_aSubTests[iFn]); \
     
    32903255static FPU_LD_D80_T g_aFpuLdD80[] =
    32913256{
    3292     ENTRY(fld_r80_from_d80)
     3257    ENTRY_BIN(fld_r80_from_d80)
    32933258};
    32943259
     
    33383303            continue;
    33393304
    3340         uint32_t const                  cTests  = *g_aFpuLdD80[iFn].pcTests;
    33413305        FPU_D80_IN_TEST_T const * const paTests = g_aFpuLdD80[iFn].paTests;
     3306        uint32_t const                  cTests  = g_aFpuLdD80[iFn].cTests;
    33423307        PFNIEMAIMPLFPULDR80FROMD80      pfn     = g_aFpuLdD80[iFn].pfn;
    33433308        uint32_t const                  cVars   = COUNT_VARIATIONS(g_aFpuLdD80[iFn]);
     
    34533418static a_SubTestType a_aSubTests[] = \
    34543419{ \
    3455     ENTRY(RT_CONCAT(fst_r80_to_r,a_cBits)) \
     3420    ENTRY_BIN(RT_CONCAT(fst_r80_to_r,a_cBits)) \
    34563421}; \
    34573422GEN_FPU_STORE(a_cBits, a_rdType, a_aSubTests, a_TestType) \
     
    34663431            continue; \
    34673432        \
    3468         uint32_t const                    cTests  = *a_aSubTests[iFn].pcTests; \
    34693433        a_TestType const          * const paTests = a_aSubTests[iFn].paTests; \
     3434        uint32_t const                    cTests  = a_aSubTests[iFn].cTests; \
    34703435        PFNIEMAIMPLFPUSTR80TOR ## a_cBits pfn     = a_aSubTests[iFn].pfn; \
    34713436        uint32_t const                    cVars   = COUNT_VARIATIONS(a_aSubTests[iFn]); \
     
    35443509static FPU_ST_I16_T g_aFpuStI16[] =
    35453510{
    3546     ENTRY(fist_r80_to_i16),
    3547     ENTRY_AMD(  fistt_r80_to_i16, 0),
    3548     ENTRY_INTEL(fistt_r80_to_i16, 0),
     3511    ENTRY_BIN(fist_r80_to_i16),
     3512    ENTRY_BIN_AMD(  fistt_r80_to_i16, 0),
     3513    ENTRY_BIN_INTEL(fistt_r80_to_i16, 0),
    35493514};
    35503515static FPU_ST_I32_T g_aFpuStI32[] =
    35513516{
    3552     ENTRY(fist_r80_to_i32),
    3553     ENTRY(fistt_r80_to_i32),
     3517    ENTRY_BIN(fist_r80_to_i32),
     3518    ENTRY_BIN(fistt_r80_to_i32),
    35543519};
    35553520static FPU_ST_I64_T g_aFpuStI64[] =
    35563521{
    3557     ENTRY(fist_r80_to_i64),
    3558     ENTRY(fistt_r80_to_i64),
     3522    ENTRY_BIN(fist_r80_to_i64),
     3523    ENTRY_BIN(fistt_r80_to_i64),
    35593524};
    35603525
     
    37173682            continue; \
    37183683        \
    3719         uint32_t const                    cTests  = *a_aSubTests[iFn].pcTests; \
    37203684        a_TestType const          * const paTests = a_aSubTests[iFn].paTests; \
     3685        uint32_t const                    cTests  = a_aSubTests[iFn].cTests; \
    37213686        PFNIEMAIMPLFPUSTR80TOI ## a_cBits pfn     = a_aSubTests[iFn].pfn; \
    37223687        uint32_t const                    cVars   = COUNT_VARIATIONS(a_aSubTests[iFn]); \
     
    37933758static FPU_ST_D80_T g_aFpuStD80[] =
    37943759{
    3795     ENTRY(fst_r80_to_d80),
     3760    ENTRY_BIN(fst_r80_to_d80),
    37963761};
    37973762
     
    38683833            continue;
    38693834
    3870         uint32_t const                  cTests  = *g_aFpuStD80[iFn].pcTests;
    38713835        FPU_ST_D80_TEST_T const * const paTests = g_aFpuStD80[iFn].paTests;
     3836        uint32_t const                  cTests  = g_aFpuStD80[iFn].cTests;
    38723837        PFNIEMAIMPLFPUSTR80TOD80        pfn     = g_aFpuStD80[iFn].pfn;
    38733838        uint32_t const                  cVars   = COUNT_VARIATIONS(g_aFpuStD80[iFn]);
     
    39153880static FPU_BINARY_R80_T g_aFpuBinaryR80[] =
    39163881{
    3917     ENTRY(fadd_r80_by_r80),
    3918     ENTRY(fsub_r80_by_r80),
    3919     ENTRY(fsubr_r80_by_r80),
    3920     ENTRY(fmul_r80_by_r80),
    3921     ENTRY(fdiv_r80_by_r80),
    3922     ENTRY(fdivr_r80_by_r80),
    3923     ENTRY_EX(fprem_r80_by_r80,  kFpuBinaryHint_fprem),
    3924     ENTRY_EX(fprem1_r80_by_r80, kFpuBinaryHint_fprem),
    3925     ENTRY(fscale_r80_by_r80),
    3926     ENTRY_AMD(  fpatan_r80_by_r80,  0),  // C1 and rounding differs on AMD
    3927     ENTRY_INTEL(fpatan_r80_by_r80,  0),  // C1 and rounding differs on AMD
    3928     ENTRY_AMD(  fyl2x_r80_by_r80,   0),  // C1 and rounding differs on AMD
    3929     ENTRY_INTEL(fyl2x_r80_by_r80,   0),  // C1 and rounding differs on AMD
    3930     ENTRY_AMD(  fyl2xp1_r80_by_r80, 0),  // C1 and rounding differs on AMD
    3931     ENTRY_INTEL(fyl2xp1_r80_by_r80, 0),  // C1 and rounding differs on AMD
     3882    ENTRY_BIN(fadd_r80_by_r80),
     3883    ENTRY_BIN(fsub_r80_by_r80),
     3884    ENTRY_BIN(fsubr_r80_by_r80),
     3885    ENTRY_BIN(fmul_r80_by_r80),
     3886    ENTRY_BIN(fdiv_r80_by_r80),
     3887    ENTRY_BIN(fdivr_r80_by_r80),
     3888    ENTRY_BIN_EX(fprem_r80_by_r80,  kFpuBinaryHint_fprem),
     3889    ENTRY_BIN_EX(fprem1_r80_by_r80, kFpuBinaryHint_fprem),
     3890    ENTRY_BIN(fscale_r80_by_r80),
     3891    ENTRY_BIN_AMD(  fpatan_r80_by_r80,  0),  // C1 and rounding differs on AMD
     3892    ENTRY_BIN_INTEL(fpatan_r80_by_r80,  0),  // C1 and rounding differs on AMD
     3893    ENTRY_BIN_AMD(  fyl2x_r80_by_r80,   0),  // C1 and rounding differs on AMD
     3894    ENTRY_BIN_INTEL(fyl2x_r80_by_r80,   0),  // C1 and rounding differs on AMD
     3895    ENTRY_BIN_AMD(  fyl2xp1_r80_by_r80, 0),  // C1 and rounding differs on AMD
     3896    ENTRY_BIN_INTEL(fyl2xp1_r80_by_r80, 0),  // C1 and rounding differs on AMD
    39323897};
    39333898
     
    41474112            continue;
    41484113
    4149         uint32_t const                      cTests  = *g_aFpuBinaryR80[iFn].pcTests;
    41504114        FPU_BINARY_R80_TEST_T const * const paTests = g_aFpuBinaryR80[iFn].paTests;
     4115        uint32_t const                      cTests  = g_aFpuBinaryR80[iFn].cTests;
    41514116        PFNIEMAIMPLFPUR80                   pfn     = g_aFpuBinaryR80[iFn].pfn;
    41524117        uint32_t const                      cVars   = COUNT_VARIATIONS(g_aFpuBinaryR80[iFn]);
     
    42754240static a_SubTestType a_aSubTests[] = \
    42764241{ \
    4277     ENTRY(RT_CONCAT4(f, a_I, add_r80_by_, a_LoBits)), \
    4278     ENTRY(RT_CONCAT4(f, a_I, mul_r80_by_, a_LoBits)), \
    4279     ENTRY(RT_CONCAT4(f, a_I, sub_r80_by_, a_LoBits)), \
    4280     ENTRY(RT_CONCAT4(f, a_I, subr_r80_by_, a_LoBits)), \
    4281     ENTRY(RT_CONCAT4(f, a_I, div_r80_by_, a_LoBits)), \
    4282     ENTRY(RT_CONCAT4(f, a_I, divr_r80_by_, a_LoBits)), \
     4242    ENTRY_BIN(RT_CONCAT4(f, a_I, add_r80_by_, a_LoBits)), \
     4243    ENTRY_BIN(RT_CONCAT4(f, a_I, mul_r80_by_, a_LoBits)), \
     4244    ENTRY_BIN(RT_CONCAT4(f, a_I, sub_r80_by_, a_LoBits)), \
     4245    ENTRY_BIN(RT_CONCAT4(f, a_I, subr_r80_by_, a_LoBits)), \
     4246    ENTRY_BIN(RT_CONCAT4(f, a_I, div_r80_by_, a_LoBits)), \
     4247    ENTRY_BIN(RT_CONCAT4(f, a_I, divr_r80_by_, a_LoBits)), \
    42834248}; \
    42844249\
     
    42944259            continue; \
    42954260        \
    4296         uint32_t const             cTests  = *a_aSubTests[iFn].pcTests; \
    42974261        a_TestType const * const   paTests = a_aSubTests[iFn].paTests; \
     4262        uint32_t const             cTests  = a_aSubTests[iFn].cTests; \
    42984263        PFNIEMAIMPLFPU ## a_UpBits pfn     = a_aSubTests[iFn].pfn; \
    42994264        uint32_t const             cVars   = COUNT_VARIATIONS(a_aSubTests[iFn]); \
     
    44344399            continue; \
    44354400        \
    4436         uint32_t const                      cTests  = *a_aSubTests[iFn].pcTests; \
    44374401        a_TestType const * const            paTests = a_aSubTests[iFn].paTests; \
     4402        uint32_t const                      cTests  = a_aSubTests[iFn].cTests; \
    44384403        PFNIEMAIMPLFPU ## a_UpBits ## FSW   pfn     = a_aSubTests[iFn].pfn; \
    44394404        uint32_t const                      cVars   = COUNT_VARIATIONS(a_aSubTests[iFn]); \
     
    44644429}
    44654430
    4466 TEST_FPU_BINARY_FSW(0, 80, R80, RTFLOAT80U, FPU_BINARY_FSW_R80_T, g_aFpuBinaryFswR80, FPU_BINARY_R80_TEST_T, ENTRY(fcom_r80_by_r80), ENTRY(fucom_r80_by_r80))
    4467 TEST_FPU_BINARY_FSW(0, 64, R64, RTFLOAT64U, FPU_BINARY_FSW_R64_T, g_aFpuBinaryFswR64, FPU_BINARY_R64_TEST_T, ENTRY(fcom_r80_by_r64))
    4468 TEST_FPU_BINARY_FSW(0, 32, R32, RTFLOAT32U, FPU_BINARY_FSW_R32_T, g_aFpuBinaryFswR32, FPU_BINARY_R32_TEST_T, ENTRY(fcom_r80_by_r32))
    4469 TEST_FPU_BINARY_FSW(1, 32, I32, int32_t,    FPU_BINARY_FSW_I32_T, g_aFpuBinaryFswI32, FPU_BINARY_I32_TEST_T, ENTRY(ficom_r80_by_i32))
    4470 TEST_FPU_BINARY_FSW(1, 16, I16, int16_t,    FPU_BINARY_FSW_I16_T, g_aFpuBinaryFswI16, FPU_BINARY_I16_TEST_T, ENTRY(ficom_r80_by_i16))
     4431TEST_FPU_BINARY_FSW(0, 80, R80, RTFLOAT80U, FPU_BINARY_FSW_R80_T, g_aFpuBinaryFswR80, FPU_BINARY_R80_TEST_T, ENTRY_BIN(fcom_r80_by_r80), ENTRY_BIN(fucom_r80_by_r80))
     4432TEST_FPU_BINARY_FSW(0, 64, R64, RTFLOAT64U, FPU_BINARY_FSW_R64_T, g_aFpuBinaryFswR64, FPU_BINARY_R64_TEST_T, ENTRY_BIN(fcom_r80_by_r64))
     4433TEST_FPU_BINARY_FSW(0, 32, R32, RTFLOAT32U, FPU_BINARY_FSW_R32_T, g_aFpuBinaryFswR32, FPU_BINARY_R32_TEST_T, ENTRY_BIN(fcom_r80_by_r32))
     4434TEST_FPU_BINARY_FSW(1, 32, I32, int32_t,    FPU_BINARY_FSW_I32_T, g_aFpuBinaryFswI32, FPU_BINARY_I32_TEST_T, ENTRY_BIN(ficom_r80_by_i32))
     4435TEST_FPU_BINARY_FSW(1, 16, I16, int16_t,    FPU_BINARY_FSW_I16_T, g_aFpuBinaryFswI16, FPU_BINARY_I16_TEST_T, ENTRY_BIN(ficom_r80_by_i16))
    44714436
    44724437
     
    44784443static FPU_BINARY_EFL_R80_T g_aFpuBinaryEflR80[] =
    44794444{
    4480     ENTRY(fcomi_r80_by_r80),
    4481     ENTRY(fucomi_r80_by_r80),
     4445    ENTRY_BIN(fcomi_r80_by_r80),
     4446    ENTRY_BIN(fucomi_r80_by_r80),
    44824447};
    44834448
     
    45484513            continue;
    45494514
    4550         uint32_t const                          cTests  = *g_aFpuBinaryEflR80[iFn].pcTests;
    45514515        FPU_BINARY_EFL_R80_TEST_T const * const paTests = g_aFpuBinaryEflR80[iFn].paTests;
     4516        uint32_t const                          cTests  = g_aFpuBinaryEflR80[iFn].cTests;
    45524517        PFNIEMAIMPLFPUR80EFL                    pfn     = g_aFpuBinaryEflR80[iFn].pfn;
    45534518        uint32_t const                          cVars   = COUNT_VARIATIONS(g_aFpuBinaryEflR80[iFn]);
     
    45964561static FPU_UNARY_R80_T g_aFpuUnaryR80[] =
    45974562{
    4598     ENTRY_EX(      fabs_r80,     kUnary_Accurate),
    4599     ENTRY_EX(      fchs_r80,     kUnary_Accurate),
    4600     ENTRY_AMD_EX(  f2xm1_r80, 0, kUnary_Accurate), // C1 differs for -1m0x3fb263cc2c331e15^-2654 (different ln2 constant?)
    4601     ENTRY_INTEL_EX(f2xm1_r80, 0, kUnary_Rounding_F2xm1),
    4602     ENTRY_EX(      fsqrt_r80,    kUnary_Accurate),
    4603     ENTRY_EX(      frndint_r80,  kUnary_Accurate),
    4604     ENTRY_AMD_EX(  fsin_r80, 0,  kUnary_Accurate_Trigonometry),  // value & C1 differences for pseudo denormals and others (e.g. -1m0x2b1e5683cbca5725^-3485)
    4605     ENTRY_INTEL_EX(fsin_r80, 0,  kUnary_Accurate_Trigonometry),
    4606     ENTRY_AMD_EX(  fcos_r80, 0,  kUnary_Accurate_Trigonometry),  // value & C1 differences
    4607     ENTRY_INTEL_EX(fcos_r80, 0,  kUnary_Accurate_Trigonometry),
     4563    ENTRY_BIN_EX(      fabs_r80,     kUnary_Accurate),
     4564    ENTRY_BIN_EX(      fchs_r80,     kUnary_Accurate),
     4565    ENTRY_BIN_AMD_EX(  f2xm1_r80, 0, kUnary_Accurate), // C1 differs for -1m0x3fb263cc2c331e15^-2654 (different ln2 constant?)
     4566    ENTRY_BIN_INTEL_EX(f2xm1_r80, 0, kUnary_Rounding_F2xm1),
     4567    ENTRY_BIN_EX(      fsqrt_r80,    kUnary_Accurate),
     4568    ENTRY_BIN_EX(      frndint_r80,  kUnary_Accurate),
     4569    ENTRY_BIN_AMD_EX(  fsin_r80, 0,  kUnary_Accurate_Trigonometry),  // value & C1 differences for pseudo denormals and others (e.g. -1m0x2b1e5683cbca5725^-3485)
     4570    ENTRY_BIN_INTEL_EX(fsin_r80, 0,  kUnary_Accurate_Trigonometry),
     4571    ENTRY_BIN_AMD_EX(  fcos_r80, 0,  kUnary_Accurate_Trigonometry),  // value & C1 differences
     4572    ENTRY_BIN_INTEL_EX(fcos_r80, 0,  kUnary_Accurate_Trigonometry),
    46084573};
    46094574
     
    47944759            continue;
    47954760
    4796         uint32_t const                     cTests           = *g_aFpuUnaryR80[iFn].pcTests;
    47974761        FPU_UNARY_R80_TEST_T const * const paTests          = g_aFpuUnaryR80[iFn].paTests;
     4762        uint32_t const                     cTests           = g_aFpuUnaryR80[iFn].cTests;
    47984763        PFNIEMAIMPLFPUR80UNARY             pfn              = g_aFpuUnaryR80[iFn].pfn;
    47994764        uint32_t const                     cVars            = COUNT_VARIATIONS(g_aFpuUnaryR80[iFn]);
     
    48424807static FPU_UNARY_FSW_R80_T g_aFpuUnaryFswR80[] =
    48434808{
    4844     ENTRY(ftst_r80),
    4845     ENTRY_EX(fxam_r80, 1),
     4809    ENTRY_BIN(ftst_r80),
     4810    ENTRY_BIN_EX(fxam_r80, 1),
    48464811};
    48474812
     
    49364901            continue;
    49374902
    4938         uint32_t const                     cTests  = *g_aFpuUnaryFswR80[iFn].pcTests;
    49394903        FPU_UNARY_R80_TEST_T const * const paTests = g_aFpuUnaryFswR80[iFn].paTests;
     4904        uint32_t const                     cTests  = g_aFpuUnaryFswR80[iFn].cTests;
    49404905        PFNIEMAIMPLFPUR80UNARYFSW          pfn     = g_aFpuUnaryFswR80[iFn].pfn;
    49414906        uint32_t const                     cVars   = COUNT_VARIATIONS(g_aFpuUnaryFswR80[iFn]);
     
    49744939static FPU_UNARY_TWO_R80_T g_aFpuUnaryTwoR80[] =
    49754940{
    4976     ENTRY(fxtract_r80_r80),
    4977     ENTRY_AMD(  fptan_r80_r80, 0),   // rounding differences
    4978     ENTRY_INTEL(fptan_r80_r80, 0),
    4979     ENTRY_AMD(  fsincos_r80_r80, 0), // C1 differences & value differences (e.g. -1m0x235cf2f580244a27^-1696)
    4980     ENTRY_INTEL(fsincos_r80_r80, 0),
     4941    ENTRY_BIN(fxtract_r80_r80),
     4942    ENTRY_BIN_AMD(  fptan_r80_r80, 0),   // rounding differences
     4943    ENTRY_BIN_INTEL(fptan_r80_r80, 0),
     4944    ENTRY_BIN_AMD(  fsincos_r80_r80, 0), // C1 differences & value differences (e.g. -1m0x235cf2f580244a27^-1696)
     4945    ENTRY_BIN_INTEL(fsincos_r80_r80, 0),
    49814946};
    49824947
     
    51095074            continue;
    51105075
    5111         uint32_t const                         cTests  = *g_aFpuUnaryTwoR80[iFn].pcTests;
    51125076        FPU_UNARY_TWO_R80_TEST_T const * const paTests = g_aFpuUnaryTwoR80[iFn].paTests;
     5077        uint32_t const                         cTests  = g_aFpuUnaryTwoR80[iFn].cTests;
    51135078        PFNIEMAIMPLFPUR80UNARYTWO              pfn     = g_aFpuUnaryTwoR80[iFn].pfn;
    51145079        uint32_t const                         cVars   = COUNT_VARIATIONS(g_aFpuUnaryTwoR80[iFn]);
     
    52945259            continue;
    52955260
    5296         uint32_t const                  cbTests = *g_aSseBinaryR32[iFn].pcTests;
    52975261        SSE_BINARY_TEST_T const * const paTests = g_aSseBinaryR32[iFn].paTests;
     5262        uint32_t const                  cbTests = g_aSseBinaryR32[iFn].cTests;
    52985263        PFNIEMAIMPLFPSSEF2U128          pfn     = g_aSseBinaryR32[iFn].pfn;
    52995264        uint32_t const                  cVars   = COUNT_VARIATIONS(g_aSseBinaryR32[iFn]);
     
    54775442            continue;
    54785443
    5479         uint32_t const                  cTests  = *g_aSseBinaryR64[iFn].pcTests;
    54805444        SSE_BINARY_TEST_T const * const paTests = g_aSseBinaryR64[iFn].paTests;
     5445        uint32_t const                  cTests  = g_aSseBinaryR64[iFn].cTests;
    54815446        PFNIEMAIMPLFPSSEF2U128          pfn     = g_aSseBinaryR64[iFn].pfn;
    54825447        uint32_t const                  cVars   = COUNT_VARIATIONS(g_aSseBinaryR64[iFn]);
     
    54845449        for (uint32_t iVar = 0; iVar < cVars; iVar++)
    54855450        {
    5486             for (uint32_t iTest = 0; iTest < cTests / sizeof(SSE_BINARY_TEST_T); iTest++)
     5451            for (uint32_t iTest = 0; iTest < cTests; iTest++)
    54875452            {
    54885453                IEMSSERESULT Res; RT_ZERO(Res);
     
    56555620            continue;
    56565621
    5657         uint32_t const                           cTests  = *g_aSseBinaryU128R32[iFn].pcTests;
    56585622        SSE_BINARY_U128_R32_TEST_T const * const paTests = g_aSseBinaryU128R32[iFn].paTests;
     5623        uint32_t const                           cTests  = g_aSseBinaryU128R32[iFn].cTests;
    56595624        PFNIEMAIMPLFPSSEF2U128R32                pfn     = g_aSseBinaryU128R32[iFn].pfn;
    56605625        uint32_t const                           cVars   = COUNT_VARIATIONS(g_aSseBinaryU128R32[iFn]);
     
    56625627        for (uint32_t iVar = 0; iVar < cVars; iVar++)
    56635628        {
    5664             for (uint32_t iTest = 0; iTest < cTests / sizeof(SSE_BINARY_TEST_T); iTest++)
     5629            for (uint32_t iTest = 0; iTest < cTests; iTest++)
    56655630            {
    56665631                IEMSSERESULT Res; RT_ZERO(Res);
     
    58315796            continue;
    58325797
    5833         uint32_t const                           cTests  = *g_aSseBinaryU128R64[iFn].pcTests;
    58345798        SSE_BINARY_U128_R64_TEST_T const * const paTests = g_aSseBinaryU128R64[iFn].paTests;
     5799        uint32_t const                           cTests  = g_aSseBinaryU128R64[iFn].cTests;
    58355800        PFNIEMAIMPLFPSSEF2U128R64                pfn     = g_aSseBinaryU128R64[iFn].pfn;
    58365801        uint32_t const                           cVars   = COUNT_VARIATIONS(g_aSseBinaryU128R64[iFn]);
     
    58385803        for (uint32_t iVar = 0; iVar < cVars; iVar++)
    58395804        {
    5840             for (uint32_t iTest = 0; iTest < cTests / sizeof(SSE_BINARY_U128_R64_TEST_T); iTest++)
     5805            for (uint32_t iTest = 0; iTest < cTests; iTest++)
    58415806            {
    58425807                IEMSSERESULT Res; RT_ZERO(Res);
     
    59945959            continue;
    59955960
    5996         uint32_t const                           cTests  = *g_aSseBinaryI32R64[iFn].pcTests;
    59975961        SSE_BINARY_I32_R64_TEST_T const * const  paTests = g_aSseBinaryI32R64[iFn].paTests;
     5962        uint32_t const                           cTests  = g_aSseBinaryI32R64[iFn].cTests;
    59985963        PFNIEMAIMPLSSEF2I32U64                   pfn     = g_aSseBinaryI32R64[iFn].pfn;
    59995964        uint32_t const                           cVars   = COUNT_VARIATIONS(g_aSseBinaryI32R64[iFn]);
     
    60015966        for (uint32_t iVar = 0; iVar < cVars; iVar++)
    60025967        {
    6003             for (uint32_t iTest = 0; iTest < cTests / sizeof(SSE_BINARY_I32_R64_TEST_T); iTest++)
     5968            for (uint32_t iTest = 0; iTest < cTests; iTest++)
    60045969            {
    60055970                uint32_t fMxcsr = 0;
     
    61536118            continue;
    61546119
    6155         uint32_t const                           cTests  = *g_aSseBinaryI64R64[iFn].pcTests;
    61566120        SSE_BINARY_I64_R64_TEST_T const * const  paTests = g_aSseBinaryI64R64[iFn].paTests;
     6121        uint32_t const                           cTests  = g_aSseBinaryI64R64[iFn].cTests;
    61576122        PFNIEMAIMPLSSEF2I64U64                   pfn     = g_aSseBinaryI64R64[iFn].pfn;
    61586123        uint32_t const                           cVars   = COUNT_VARIATIONS(g_aSseBinaryI32R64[iFn]);
     
    61606125        for (uint32_t iVar = 0; iVar < cVars; iVar++)
    61616126        {
    6162             for (uint32_t iTest = 0; iTest < cTests / sizeof(SSE_BINARY_I64_R64_TEST_T); iTest++)
     6127            for (uint32_t iTest = 0; iTest < cTests; iTest++)
    61636128            {
    61646129                uint32_t fMxcsr = 0;
     
    63126277            continue;
    63136278
    6314         uint32_t const                           cTests  = *g_aSseBinaryI32R32[iFn].pcTests;
    63156279        SSE_BINARY_I32_R32_TEST_T const * const  paTests = g_aSseBinaryI32R32[iFn].paTests;
     6280        uint32_t const                           cTests  = g_aSseBinaryI32R32[iFn].cTests;
    63166281        PFNIEMAIMPLSSEF2I32U32                   pfn     = g_aSseBinaryI32R32[iFn].pfn;
    63176282        uint32_t const                           cVars   = COUNT_VARIATIONS(g_aSseBinaryI32R32[iFn]);
     
    63196284        for (uint32_t iVar = 0; iVar < cVars; iVar++)
    63206285        {
    6321             for (uint32_t iTest = 0; iTest < cTests / sizeof(SSE_BINARY_I32_R32_TEST_T); iTest++)
     6286            for (uint32_t iTest = 0; iTest < cTests; iTest++)
    63226287            {
    63236288                uint32_t fMxcsr = 0;
     
    64716436            continue;
    64726437
    6473         uint32_t const                           cTests  = *g_aSseBinaryI64R32[iFn].pcTests;
    64746438        SSE_BINARY_I64_R32_TEST_T const * const  paTests = g_aSseBinaryI64R32[iFn].paTests;
     6439        uint32_t const                           cTests  = g_aSseBinaryI64R32[iFn].cTests;
    64756440        PFNIEMAIMPLSSEF2I64U32                   pfn     = g_aSseBinaryI64R32[iFn].pfn;
    64766441        uint32_t const                           cVars   = COUNT_VARIATIONS(g_aSseBinaryI64R32[iFn]);
     
    64786443        for (uint32_t iVar = 0; iVar < cVars; iVar++)
    64796444        {
    6480             for (uint32_t iTest = 0; iTest < cTests / sizeof(SSE_BINARY_I64_R32_TEST_T); iTest++)
     6445            for (uint32_t iTest = 0; iTest < cTests; iTest++)
    64816446            {
    64826447                uint32_t fMxcsr = 0;
     
    66206585            continue;
    66216586
    6622         uint32_t const                           cTests  = *g_aSseBinaryR64I32[iFn].pcTests;
    66236587        SSE_BINARY_R64_I32_TEST_T const * const  paTests = g_aSseBinaryR64I32[iFn].paTests;
     6588        uint32_t const                           cTests  = g_aSseBinaryR64I32[iFn].cTests;
    66246589        PFNIEMAIMPLSSEF2R64I32                   pfn     = g_aSseBinaryR64I32[iFn].pfn;
    66256590        uint32_t const                           cVars   = COUNT_VARIATIONS(g_aSseBinaryR64I32[iFn]);
     
    66276592        for (uint32_t iVar = 0; iVar < cVars; iVar++)
    66286593        {
    6629             for (uint32_t iTest = 0; iTest < cTests / sizeof(SSE_BINARY_R64_I32_TEST_T); iTest++)
     6594            for (uint32_t iTest = 0; iTest < cTests; iTest++)
    66306595            {
    66316596                uint32_t fMxcsr = 0;
     
    67696734            continue;
    67706735
    6771         uint32_t const                           cTests  = *g_aSseBinaryR64I64[iFn].pcTests;
    67726736        SSE_BINARY_R64_I64_TEST_T const * const  paTests = g_aSseBinaryR64I64[iFn].paTests;
     6737        uint32_t const                           cTests  = g_aSseBinaryR64I64[iFn].cTests;
    67736738        PFNIEMAIMPLSSEF2R64I64                   pfn     = g_aSseBinaryR64I64[iFn].pfn;
    67746739        uint32_t const                           cVars   = COUNT_VARIATIONS(g_aSseBinaryR64I64[iFn]);
     
    67766741        for (uint32_t iVar = 0; iVar < cVars; iVar++)
    67776742        {
    6778             for (uint32_t iTest = 0; iTest < cTests / sizeof(SSE_BINARY_R64_I64_TEST_T); iTest++)
     6743            for (uint32_t iTest = 0; iTest < cTests; iTest++)
    67796744            {
    67806745                uint32_t fMxcsr = 0;
     
    69186883            continue;
    69196884
    6920         uint32_t const                           cTests  = *g_aSseBinaryR32I32[iFn].pcTests;
    69216885        SSE_BINARY_R32_I32_TEST_T const * const  paTests = g_aSseBinaryR32I32[iFn].paTests;
     6886        uint32_t const                           cTests  = g_aSseBinaryR32I32[iFn].cTests;
    69226887        PFNIEMAIMPLSSEF2R32I32                   pfn     = g_aSseBinaryR32I32[iFn].pfn;
    69236888        uint32_t const                           cVars   = COUNT_VARIATIONS(g_aSseBinaryR32I32[iFn]);
     
    69256890        for (uint32_t iVar = 0; iVar < cVars; iVar++)
    69266891        {
    6927             for (uint32_t iTest = 0; iTest < cTests / sizeof(SSE_BINARY_R32_I32_TEST_T); iTest++)
     6892            for (uint32_t iTest = 0; iTest < cTests; iTest++)
    69286893            {
    69296894                uint32_t fMxcsr = 0;
     
    70677032            continue;
    70687033
    7069         uint32_t const                           cTests  = *g_aSseBinaryR32I64[iFn].pcTests;
    70707034        SSE_BINARY_R32_I64_TEST_T const * const  paTests = g_aSseBinaryR32I64[iFn].paTests;
     7035        uint32_t const                           cTests  = g_aSseBinaryR32I64[iFn].cTests;
    70717036        PFNIEMAIMPLSSEF2R32I64                   pfn     = g_aSseBinaryR32I64[iFn].pfn;
    70727037        uint32_t const                           cVars   = COUNT_VARIATIONS(g_aSseBinaryR32I64[iFn]);
     
    70747039        for (uint32_t iVar = 0; iVar < cVars; iVar++)
    70757040        {
    7076             for (uint32_t iTest = 0; iTest < cTests / sizeof(SSE_BINARY_R32_I64_TEST_T); iTest++)
     7041            for (uint32_t iTest = 0; iTest < cTests; iTest++)
    70777042            {
    70787043                uint32_t fMxcsr = 0;
     
    72487213            continue;
    72497214
    7250         uint32_t const                                  cTests  = *g_aSseCompareEflR32R32[iFn].pcTests;
    72517215        SSE_COMPARE_EFL_R32_R32_TEST_T const * const    paTests = g_aSseCompareEflR32R32[iFn].paTests;
     7216        uint32_t const                                  cTests  = g_aSseCompareEflR32R32[iFn].cTests;
    72527217        PFNIEMAIMPLF2EFLMXCSR128                        pfn     = g_aSseCompareEflR32R32[iFn].pfn;
    72537218        uint32_t const                                  cVars   = COUNT_VARIATIONS(g_aSseCompareEflR32R32[iFn]);
     
    72557220        for (uint32_t iVar = 0; iVar < cVars; iVar++)
    72567221        {
    7257             for (uint32_t iTest = 0; iTest < cTests / sizeof(SSE_COMPARE_EFL_R32_R32_TEST_T); iTest++)
     7222            for (uint32_t iTest = 0; iTest < cTests; iTest++)
    72587223            {
    72597224                X86XMMREG ValIn1; RT_ZERO(ValIn1);
     
    74317396            continue;
    74327397
    7433         uint32_t const                                  cTests  = *g_aSseCompareEflR64R64[iFn].pcTests;
    74347398        SSE_COMPARE_EFL_R64_R64_TEST_T const * const    paTests = g_aSseCompareEflR64R64[iFn].paTests;
     7399        uint32_t const                                  cTests  = g_aSseCompareEflR64R64[iFn].cTests;
    74357400        PFNIEMAIMPLF2EFLMXCSR128                        pfn     = g_aSseCompareEflR64R64[iFn].pfn;
    74367401        uint32_t const                                  cVars   = COUNT_VARIATIONS(g_aSseCompareEflR64R64[iFn]);
     
    74387403        for (uint32_t iVar = 0; iVar < cVars; iVar++)
    74397404        {
    7440             for (uint32_t iTest = 0; iTest < cTests / sizeof(SSE_COMPARE_EFL_R64_R64_TEST_T); iTest++)
     7405            for (uint32_t iTest = 0; iTest < cTests; iTest++)
    74417406            {
    74427407                X86XMMREG ValIn1; RT_ZERO(ValIn1);
     
    76267591            continue;
    76277592
    7628         uint32_t const                                  cTests  = *g_aSseCompareF2XmmR32Imm8[iFn].pcTests;
    76297593        SSE_COMPARE_F2_XMM_IMM8_TEST_T const * const    paTests = g_aSseCompareF2XmmR32Imm8[iFn].paTests;
     7594        uint32_t const                                  cTests  = g_aSseCompareF2XmmR32Imm8[iFn].cTests;
    76307595        PFNIEMAIMPLMXCSRF2XMMIMM8                       pfn     = g_aSseCompareF2XmmR32Imm8[iFn].pfn;
    76317596        uint32_t const                                  cVars   = COUNT_VARIATIONS(g_aSseCompareF2XmmR32Imm8[iFn]);
     
    76337598        for (uint32_t iVar = 0; iVar < cVars; iVar++)
    76347599        {
    7635             for (uint32_t iTest = 0; iTest < cTests / sizeof(SSE_COMPARE_F2_XMM_IMM8_TEST_T); iTest++)
     7600            for (uint32_t iTest = 0; iTest < cTests; iTest++)
    76367601            {
    76377602                IEMMEDIAF2XMMSRC Src;
     
    78207785            continue;
    78217786
    7822         uint32_t const                                  cTests  = *g_aSseCompareF2XmmR64Imm8[iFn].pcTests;
    78237787        SSE_COMPARE_F2_XMM_IMM8_TEST_T const * const    paTests = g_aSseCompareF2XmmR64Imm8[iFn].paTests;
     7788        uint32_t const                                  cTests  = g_aSseCompareF2XmmR64Imm8[iFn].cTests;
    78247789        PFNIEMAIMPLMXCSRF2XMMIMM8                       pfn     = g_aSseCompareF2XmmR64Imm8[iFn].pfn;
    78257790        uint32_t const                                  cVars   = COUNT_VARIATIONS(g_aSseCompareF2XmmR64Imm8[iFn]);
     
    78277792        for (uint32_t iVar = 0; iVar < cVars; iVar++)
    78287793        {
    7829             for (uint32_t iTest = 0; iTest < cTests / sizeof(SSE_COMPARE_F2_XMM_IMM8_TEST_T); iTest++)
     7794            for (uint32_t iTest = 0; iTest < cTests; iTest++)
    78307795            {
    78317796                IEMMEDIAF2XMMSRC Src;
     
    79837948            continue;
    79847949
    7985         uint32_t const                          cTests  = *g_aSseConvertXmmI32R32[iFn].pcTests;
    79867950        SSE_CONVERT_XMM_TEST_T const * const    paTests = g_aSseConvertXmmI32R32[iFn].paTests;
     7951        uint32_t const                          cTests  = g_aSseConvertXmmI32R32[iFn].cTests;
    79877952        PFNIEMAIMPLFPSSEF2U128                  pfn     = g_aSseConvertXmmI32R32[iFn].pfn;
    79887953        uint32_t const                          cVars   = COUNT_VARIATIONS(g_aSseConvertXmmI32R32[iFn]);
     
    79907955        for (uint32_t iVar = 0; iVar < cVars; iVar++)
    79917956        {
    7992             for (uint32_t iTest = 0; iTest < cTests / sizeof(*paTests); iTest++)
     7957            for (uint32_t iTest = 0; iTest < cTests; iTest++)
    79937958            {
    79947959                IEMSSERESULT Res; RT_ZERO(Res);
     
    81598124            continue;
    81608125
    8161         uint32_t const                          cTests  = *g_aSseConvertXmmR32I32[iFn].pcTests;
    81628126        SSE_CONVERT_XMM_TEST_T const * const    paTests = g_aSseConvertXmmR32I32[iFn].paTests;
     8127        uint32_t const                          cTests  = g_aSseConvertXmmR32I32[iFn].cTests;
    81638128        PFNIEMAIMPLFPSSEF2U128                  pfn     = g_aSseConvertXmmR32I32[iFn].pfn;
    81648129        uint32_t const                          cVars   = COUNT_VARIATIONS(g_aSseConvertXmmR32I32[iFn]);
     
    81668131        for (uint32_t iVar = 0; iVar < cVars; iVar++)
    81678132        {
    8168             for (uint32_t iTest = 0; iTest < cTests / sizeof(*paTests); iTest++)
     8133            for (uint32_t iTest = 0; iTest < cTests; iTest++)
    81698134            {
    81708135                IEMSSERESULT Res; RT_ZERO(Res);
     
    83238288            continue;
    83248289
    8325         uint32_t const                          cTests  = *g_aSseConvertXmmI32R64[iFn].pcTests;
    83268290        SSE_CONVERT_XMM_TEST_T const * const    paTests = g_aSseConvertXmmI32R64[iFn].paTests;
     8291        uint32_t const                          cTests  = g_aSseConvertXmmI32R64[iFn].cTests;
    83278292        PFNIEMAIMPLFPSSEF2U128                  pfn     = g_aSseConvertXmmI32R64[iFn].pfn;
    83288293        uint32_t const                          cVars   = COUNT_VARIATIONS(g_aSseConvertXmmI32R64[iFn]);
     
    83308295        for (uint32_t iVar = 0; iVar < cVars; iVar++)
    83318296        {
    8332             for (uint32_t iTest = 0; iTest < cTests / sizeof(*paTests); iTest++)
     8297            for (uint32_t iTest = 0; iTest < cTests; iTest++)
    83338298            {
    83348299                IEMSSERESULT Res; RT_ZERO(Res);
     
    84898454            continue;
    84908455
    8491         uint32_t const                          cTests  = *g_aSseConvertXmmR64I32[iFn].pcTests;
    84928456        SSE_CONVERT_XMM_TEST_T const * const    paTests = g_aSseConvertXmmR64I32[iFn].paTests;
     8457        uint32_t const                          cTests  = g_aSseConvertXmmR64I32[iFn].cTests;
    84938458        PFNIEMAIMPLFPSSEF2U128                  pfn     = g_aSseConvertXmmR64I32[iFn].pfn;
    84948459        uint32_t const                          cVars   = COUNT_VARIATIONS(g_aSseConvertXmmR64I32[iFn]);
     
    84968461        for (uint32_t iVar = 0; iVar < cVars; iVar++)
    84978462        {
    8498             for (uint32_t iTest = 0; iTest < cTests / sizeof(*paTests); iTest++)
     8463            for (uint32_t iTest = 0; iTest < cTests; iTest++)
    84998464            {
    85008465                IEMSSERESULT Res; RT_ZERO(Res);
     
    86658630            continue;
    86668631
    8667         uint32_t const                          cTests  = *g_aSseConvertMmXmm[iFn].pcTests;
    86688632        SSE_CONVERT_MM_XMM_TEST_T const * const paTests = g_aSseConvertMmXmm[iFn].paTests;
     8633        uint32_t const                          cTests  = g_aSseConvertMmXmm[iFn].cTests;
    86698634        PFNIEMAIMPLMXCSRU64U128                 pfn     = g_aSseConvertMmXmm[iFn].pfn;
    86708635        uint32_t const                          cVars   = COUNT_VARIATIONS(g_aSseConvertMmXmm[iFn]);
     
    86728637        for (uint32_t iVar = 0; iVar < cVars; iVar++)
    86738638        {
    8674             for (uint32_t iTest = 0; iTest < cTests / sizeof(*paTests); iTest++)
     8639            for (uint32_t iTest = 0; iTest < cTests; iTest++)
    86758640            {
    86768641                RTUINT64U ValOut;
     
    88068771            continue;
    88078772
    8808         uint32_t const                          cTests  = *g_aSseConvertXmmR64Mm[iFn].pcTests;
    88098773        SSE_CONVERT_XMM_MM_TEST_T const * const paTests = g_aSseConvertXmmR64Mm[iFn].paTests;
     8774        uint32_t const                          cTests  = g_aSseConvertXmmR64Mm[iFn].cTests;
    88108775        PFNIEMAIMPLMXCSRU128U64                 pfn     = g_aSseConvertXmmR64Mm[iFn].pfn;
    88118776        uint32_t const                          cVars   = COUNT_VARIATIONS(g_aSseConvertXmmR64Mm[iFn]);
     
    88138778        for (uint32_t iVar = 0; iVar < cVars; iVar++)
    88148779        {
    8815             for (uint32_t iTest = 0; iTest < cTests / sizeof(*paTests); iTest++)
     8780            for (uint32_t iTest = 0; iTest < cTests; iTest++)
    88168781            {
    88178782                X86XMMREG ValOut;
     
    89488913            continue;
    89498914
    8950         uint32_t const                          cTests  = *g_aSseConvertXmmR32Mm[iFn].pcTests;
    89518915        SSE_CONVERT_XMM_MM_TEST_T const * const paTests = g_aSseConvertXmmR32Mm[iFn].paTests;
     8916        uint32_t const                          cTests  = g_aSseConvertXmmR32Mm[iFn].cTests;
    89528917        PFNIEMAIMPLMXCSRU128U64                 pfn     = g_aSseConvertXmmR32Mm[iFn].pfn;
    89538918        uint32_t const                          cVars   = COUNT_VARIATIONS(g_aSseConvertXmmR32Mm[iFn]);
     
    89558920        for (uint32_t iVar = 0; iVar < cVars; iVar++)
    89568921        {
    8957             for (uint32_t iTest = 0; iTest < cTests / sizeof(*paTests); iTest++)
     8922            for (uint32_t iTest = 0; iTest < cTests; iTest++)
    89588923            {
    89598924                X86XMMREG ValOut;
     
    91219086            continue;
    91229087
    9123         uint32_t const                          cTests  = *g_aSseConvertMmI32XmmR32[iFn].pcTests;
    91249088        SSE_CONVERT_MM_R32_TEST_T const * const paTests = g_aSseConvertMmI32XmmR32[iFn].paTests;
     9089        uint32_t const                          cTests  = g_aSseConvertMmI32XmmR32[iFn].cTests;
    91259090        PFNIEMAIMPLMXCSRU64U64                  pfn     = g_aSseConvertMmI32XmmR32[iFn].pfn;
    91269091        uint32_t const                          cVars   = COUNT_VARIATIONS(g_aSseConvertMmI32XmmR32[iFn]);
     
    91289093        for (uint32_t iVar = 0; iVar < cVars; iVar++)
    91299094        {
    9130             for (uint32_t iTest = 0; iTest < cTests / sizeof(*paTests); iTest++)
     9095            for (uint32_t iTest = 0; iTest < cTests; iTest++)
    91319096            {
    91329097                RTUINT64U ValOut;
     
    92439208            continue;
    92449209
    9245         uint32_t const                          cTests  = *g_aSsePcmpistri[iFn].pcTests;
    92469210        SSE_PCMPISTRI_TEST_T const * const      paTests = g_aSsePcmpistri[iFn].paTests;
     9211        uint32_t const                          cTests  = g_aSsePcmpistri[iFn].cTests;
    92479212        PFNIEMAIMPLPCMPISTRIU128IMM8            pfn     = g_aSsePcmpistri[iFn].pfn;
    92489213        uint32_t const                          cVars   = COUNT_VARIATIONS(g_aSsePcmpistri[iFn]);
     
    92509215        for (uint32_t iVar = 0; iVar < cVars; iVar++)
    92519216        {
    9252             for (uint32_t iTest = 0; iTest < cTests / sizeof(*paTests); iTest++)
     9217            for (uint32_t iTest = 0; iTest < cTests; iTest++)
    92539218            {
    92549219                IEMPCMPISTRXSRC TestVal;
     
    93559320            continue;
    93569321
    9357         uint32_t const                          cTests  = *g_aSsePcmpistrm[iFn].pcTests;
    93589322        SSE_PCMPISTRM_TEST_T const * const      paTests = g_aSsePcmpistrm[iFn].paTests;
     9323        uint32_t const                          cTests  = g_aSsePcmpistrm[iFn].cTests;
    93599324        PFNIEMAIMPLPCMPISTRMU128IMM8            pfn     = g_aSsePcmpistrm[iFn].pfn;
    93609325        uint32_t const                          cVars   = COUNT_VARIATIONS(g_aSsePcmpistrm[iFn]);
     
    93629327        for (uint32_t iVar = 0; iVar < cVars; iVar++)
    93639328        {
    9364             for (uint32_t iTest = 0; iTest < cTests / sizeof(*paTests); iTest++)
     9329            for (uint32_t iTest = 0; iTest < cTests; iTest++)
    93659330            {
    93669331                IEMPCMPISTRXSRC TestVal;
     
    94789443            continue;
    94799444
    9480         uint32_t const                          cTests  = *g_aSsePcmpestri[iFn].pcTests;
    94819445        SSE_PCMPESTRI_TEST_T const * const      paTests = g_aSsePcmpestri[iFn].paTests;
     9446        uint32_t const                          cTests  = g_aSsePcmpestri[iFn].cTests;
    94829447        PFNIEMAIMPLPCMPESTRIU128IMM8            pfn     = g_aSsePcmpestri[iFn].pfn;
    94839448        uint32_t const                          cVars   = COUNT_VARIATIONS(g_aSsePcmpestri[iFn]);
     
    94859450        for (uint32_t iVar = 0; iVar < cVars; iVar++)
    94869451        {
    9487             for (uint32_t iTest = 0; iTest < cTests / sizeof(*paTests); iTest++)
     9452            for (uint32_t iTest = 0; iTest < cTests; iTest++)
    94889453            {
    94899454                IEMPCMPESTRXSRC TestVal;
     
    96039568            continue;
    96049569
    9605         uint32_t const                          cTests  = *g_aSsePcmpestrm[iFn].pcTests;
    96069570        SSE_PCMPESTRM_TEST_T const * const      paTests = g_aSsePcmpestrm[iFn].paTests;
     9571        uint32_t const                          cTests  = g_aSsePcmpestrm[iFn].cTests;
    96079572        PFNIEMAIMPLPCMPESTRMU128IMM8            pfn     = g_aSsePcmpestrm[iFn].pfn;
    96089573        uint32_t const                          cVars   = COUNT_VARIATIONS(g_aSsePcmpestrm[iFn]);
     
    96109575        for (uint32_t iVar = 0; iVar < cVars; iVar++)
    96119576        {
    9612             for (uint32_t iTest = 0; iTest < cTests / sizeof(*paTests); iTest++)
     9577            for (uint32_t iTest = 0; iTest < cTests; iTest++)
    96139578            {
    96149579                IEMPCMPESTRXSRC TestVal;
  • trunk/src/VBox/VMM/testcase/tstIEMAImpl.h

    r103056 r103064  
    565565
    566566
    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 
    571567#define TSTIEM_DEFINE_EMPTY_TEST_ARRAY_BIN(a_Type, a_Instr) \
    572     extern a_Type const  RT_CONCAT(g_aTests_, a_Instr)[] = { {0} }; \
     568    extern a_Type   const RT_CONCAT(g_abTests_, a_Instr)[] = { {0} }; \
    573569    extern uint32_t const RT_CONCAT(g_cbTests_, a_Instr)  = 0
    574570
    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 
    579571#define TSTIEM_DECLARE_TEST_ARRAY_BIN(a_szFile, a_Type, a_Instr) \
    580     extern a_Type   const RT_CONCAT(g_aTests_, a_Instr)[]; \
     572    extern a_Type   const RT_CONCAT(g_abTests_, a_Instr)[]; \
    581573    extern uint32_t const RT_CONCAT(g_cbTests_, a_Instr)
    582574
     
    840832TSTIEM_DECLARE_TEST_ARRAY_BIN(Int-Intel,    MULDIVU64_TEST_T,           idiv_u64_intel           );
    841833
    842 TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,          FPU_LD_CONST_TEST_T,        fld1                     );
    843 TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,          FPU_LD_CONST_TEST_T,        fldl2t                   );
    844 TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,          FPU_LD_CONST_TEST_T,        fldl2e                   );
    845 TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,          FPU_LD_CONST_TEST_T,        fldpi                    );
    846 TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,          FPU_LD_CONST_TEST_T,        fldlg2                   );
    847 TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,          FPU_LD_CONST_TEST_T,        fldln2                   );
    848 TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,          FPU_LD_CONST_TEST_T,        fldz                     );
    849 
    850 TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,          FPU_R80_IN_TEST_T,          fld_r80_from_r80         );
    851 TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,          FPU_R64_IN_TEST_T,          fld_r80_from_r64         );
    852 TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,          FPU_R32_IN_TEST_T,          fld_r80_from_r32         );
    853 TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,          FPU_I64_IN_TEST_T,          fild_r80_from_i64        );
    854 TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,          FPU_I32_IN_TEST_T,          fild_r80_from_i32        );
    855 TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,          FPU_I16_IN_TEST_T,          fild_r80_from_i16        );
    856 TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,          FPU_D80_IN_TEST_T,          fld_r80_from_d80         );
    857 
    858 TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,          FPU_ST_R80_TEST_T,          fst_r80_to_r80           );
    859 TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,          FPU_ST_R64_TEST_T,          fst_r80_to_r64           );
    860 TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,          FPU_ST_R32_TEST_T,          fst_r80_to_r32           );
    861 TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,          FPU_ST_I64_TEST_T,          fist_r80_to_i64          );
    862 TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,          FPU_ST_I32_TEST_T,          fist_r80_to_i32          );
    863 TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,          FPU_ST_I16_TEST_T,          fist_r80_to_i16          );
    864 TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,          FPU_ST_I64_TEST_T,          fistt_r80_to_i64         );
    865 TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,          FPU_ST_I32_TEST_T,          fistt_r80_to_i32         );
    866 TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt-Amd,      FPU_ST_I16_TEST_T,          fistt_r80_to_i16_amd     );
    867 TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt-Intel,    FPU_ST_I16_TEST_T,          fistt_r80_to_i16_intel   );
    868 TSTIEM_DECLARE_TEST_ARRAY(FpuLdSt,          FPU_ST_D80_TEST_T,          fst_r80_to_d80           );
    869 
    870 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1,       FPU_BINARY_R80_TEST_T,      fadd_r80_by_r80          );
    871 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1,       FPU_BINARY_R80_TEST_T,      fsub_r80_by_r80          );
    872 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1,       FPU_BINARY_R80_TEST_T,      fsubr_r80_by_r80         );
    873 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1,       FPU_BINARY_R80_TEST_T,      fmul_r80_by_r80          );
    874 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1,       FPU_BINARY_R80_TEST_T,      fdiv_r80_by_r80          );
    875 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1,       FPU_BINARY_R80_TEST_T,      fdivr_r80_by_r80         );
    876 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1,       FPU_BINARY_R80_TEST_T,      fprem_r80_by_r80         );
    877 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1,       FPU_BINARY_R80_TEST_T,      fprem1_r80_by_r80        );
    878 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1,       FPU_BINARY_R80_TEST_T,      fscale_r80_by_r80        );
    879 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1-Amd,   FPU_BINARY_R80_TEST_T,      fpatan_r80_by_r80_amd    );
    880 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1-Intel, FPU_BINARY_R80_TEST_T,      fpatan_r80_by_r80_intel  );
    881 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1-Amd,   FPU_BINARY_R80_TEST_T,      fyl2x_r80_by_r80_amd     );
    882 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1-Intel, FPU_BINARY_R80_TEST_T,      fyl2x_r80_by_r80_intel   );
    883 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1-Amd,   FPU_BINARY_R80_TEST_T,      fyl2xp1_r80_by_r80_amd   );
    884 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1-Intel, FPU_BINARY_R80_TEST_T,      fyl2xp1_r80_by_r80_intel );
    885 
    886 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,       FPU_BINARY_R64_TEST_T,      fadd_r80_by_r64          );
    887 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,       FPU_BINARY_R64_TEST_T,      fmul_r80_by_r64          );
    888 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,       FPU_BINARY_R64_TEST_T,      fsub_r80_by_r64          );
    889 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,       FPU_BINARY_R64_TEST_T,      fsubr_r80_by_r64         );
    890 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,       FPU_BINARY_R64_TEST_T,      fdiv_r80_by_r64          );
    891 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,       FPU_BINARY_R64_TEST_T,      fdivr_r80_by_r64         );
    892 
    893 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,       FPU_BINARY_R32_TEST_T,      fadd_r80_by_r32          );
    894 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,       FPU_BINARY_R32_TEST_T,      fmul_r80_by_r32          );
    895 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,       FPU_BINARY_R32_TEST_T,      fsub_r80_by_r32          );
    896 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,       FPU_BINARY_R32_TEST_T,      fsubr_r80_by_r32         );
    897 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,       FPU_BINARY_R32_TEST_T,      fdiv_r80_by_r32          );
    898 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,       FPU_BINARY_R32_TEST_T,      fdivr_r80_by_r32         );
    899 
    900 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,       FPU_BINARY_I32_TEST_T,      fiadd_r80_by_i32         );
    901 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,       FPU_BINARY_I32_TEST_T,      fimul_r80_by_i32         );
    902 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,       FPU_BINARY_I32_TEST_T,      fisub_r80_by_i32         );
    903 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,       FPU_BINARY_I32_TEST_T,      fisubr_r80_by_i32        );
    904 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,       FPU_BINARY_I32_TEST_T,      fidiv_r80_by_i32         );
    905 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,       FPU_BINARY_I32_TEST_T,      fidivr_r80_by_i32        );
    906 
    907 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,       FPU_BINARY_I16_TEST_T,      fiadd_r80_by_i16         );
    908 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,       FPU_BINARY_I16_TEST_T,      fimul_r80_by_i16         );
    909 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,       FPU_BINARY_I16_TEST_T,      fisub_r80_by_i16         );
    910 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,       FPU_BINARY_I16_TEST_T,      fisubr_r80_by_i16        );
    911 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,       FPU_BINARY_I16_TEST_T,      fidiv_r80_by_i16         );
    912 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,       FPU_BINARY_I16_TEST_T,      fidivr_r80_by_i16        );
    913 
    914 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1,       FPU_BINARY_R80_TEST_T,      fcom_r80_by_r80          );
    915 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1,       FPU_BINARY_R80_TEST_T,      fucom_r80_by_r80         );
    916 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,       FPU_BINARY_R64_TEST_T,      fcom_r80_by_r64          );
    917 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,       FPU_BINARY_R32_TEST_T,      fcom_r80_by_r32          );
    918 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,       FPU_BINARY_I32_TEST_T,      ficom_r80_by_i32         );
    919 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary2,       FPU_BINARY_I16_TEST_T,      ficom_r80_by_i16         );
    920 
    921 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1,       FPU_BINARY_EFL_R80_TEST_T,  fcomi_r80_by_r80         );
    922 TSTIEM_DECLARE_TEST_ARRAY(FpuBinary1,       FPU_BINARY_EFL_R80_TEST_T,  fucomi_r80_by_r80        );
    923 
    924 TSTIEM_DECLARE_TEST_ARRAY(FpuOther,         FPU_UNARY_R80_TEST_T,       fabs_r80                 );
    925 TSTIEM_DECLARE_TEST_ARRAY(FpuOther,         FPU_UNARY_R80_TEST_T,       fchs_r80                 );
    926 TSTIEM_DECLARE_TEST_ARRAY(FpuOther-Amd,     FPU_UNARY_R80_TEST_T,       f2xm1_r80_amd            );
    927 TSTIEM_DECLARE_TEST_ARRAY(FpuOther-Intel,   FPU_UNARY_R80_TEST_T,       f2xm1_r80_intel          );
    928 TSTIEM_DECLARE_TEST_ARRAY(FpuOther,         FPU_UNARY_R80_TEST_T,       fsqrt_r80                );
    929 TSTIEM_DECLARE_TEST_ARRAY(FpuOther,         FPU_UNARY_R80_TEST_T,       frndint_r80              );
    930 TSTIEM_DECLARE_TEST_ARRAY(FpuOther-Amd,     FPU_UNARY_R80_TEST_T,       fsin_r80_amd             );
    931 TSTIEM_DECLARE_TEST_ARRAY(FpuOther-Intel,   FPU_UNARY_R80_TEST_T,       fsin_r80_intel           );
    932 TSTIEM_DECLARE_TEST_ARRAY(FpuOther-Amd,     FPU_UNARY_R80_TEST_T,       fcos_r80_amd             );
    933 TSTIEM_DECLARE_TEST_ARRAY(FpuOther-Intel,   FPU_UNARY_R80_TEST_T,       fcos_r80_intel           );
    934 
    935 TSTIEM_DECLARE_TEST_ARRAY(FpuOther,         FPU_UNARY_R80_TEST_T,       ftst_r80                 );
    936 TSTIEM_DECLARE_TEST_ARRAY(FpuOther,         FPU_UNARY_R80_TEST_T,       fxam_r80                 );
    937 
    938 TSTIEM_DECLARE_TEST_ARRAY(FpuOther-Amd,     FPU_UNARY_TWO_R80_TEST_T,   fptan_r80_r80_amd        );
    939 TSTIEM_DECLARE_TEST_ARRAY(FpuOther-Intel,   FPU_UNARY_TWO_R80_TEST_T,   fptan_r80_r80_intel      );
    940 TSTIEM_DECLARE_TEST_ARRAY(FpuOther,         FPU_UNARY_TWO_R80_TEST_T,   fxtract_r80_r80          );
    941 TSTIEM_DECLARE_TEST_ARRAY(FpuOther-Amd,     FPU_UNARY_TWO_R80_TEST_T,   fsincos_r80_r80_amd      );
    942 TSTIEM_DECLARE_TEST_ARRAY(FpuOther-Intel,   FPU_UNARY_TWO_R80_TEST_T,   fsincos_r80_r80_intel    );
     834TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuLdSt,          FPU_LD_CONST_TEST_T,        fld1                     );
     835TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuLdSt,          FPU_LD_CONST_TEST_T,        fldl2t                   );
     836TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuLdSt,          FPU_LD_CONST_TEST_T,        fldl2e                   );
     837TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuLdSt,          FPU_LD_CONST_TEST_T,        fldpi                    );
     838TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuLdSt,          FPU_LD_CONST_TEST_T,        fldlg2                   );
     839TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuLdSt,          FPU_LD_CONST_TEST_T,        fldln2                   );
     840TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuLdSt,          FPU_LD_CONST_TEST_T,        fldz                     );
     841
     842TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuLdSt,          FPU_R80_IN_TEST_T,          fld_r80_from_r80         );
     843TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuLdSt,          FPU_R64_IN_TEST_T,          fld_r80_from_r64         );
     844TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuLdSt,          FPU_R32_IN_TEST_T,          fld_r80_from_r32         );
     845TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuLdSt,          FPU_I64_IN_TEST_T,          fild_r80_from_i64        );
     846TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuLdSt,          FPU_I32_IN_TEST_T,          fild_r80_from_i32        );
     847TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuLdSt,          FPU_I16_IN_TEST_T,          fild_r80_from_i16        );
     848TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuLdSt,          FPU_D80_IN_TEST_T,          fld_r80_from_d80         );
     849
     850TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuLdSt,          FPU_ST_R80_TEST_T,          fst_r80_to_r80           );
     851TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuLdSt,          FPU_ST_R64_TEST_T,          fst_r80_to_r64           );
     852TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuLdSt,          FPU_ST_R32_TEST_T,          fst_r80_to_r32           );
     853TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuLdSt,          FPU_ST_I64_TEST_T,          fist_r80_to_i64          );
     854TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuLdSt,          FPU_ST_I32_TEST_T,          fist_r80_to_i32          );
     855TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuLdSt,          FPU_ST_I16_TEST_T,          fist_r80_to_i16          );
     856TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuLdSt,          FPU_ST_I64_TEST_T,          fistt_r80_to_i64         );
     857TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuLdSt,          FPU_ST_I32_TEST_T,          fistt_r80_to_i32         );
     858TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuLdSt-Amd,      FPU_ST_I16_TEST_T,          fistt_r80_to_i16_amd     );
     859TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuLdSt-Intel,    FPU_ST_I16_TEST_T,          fistt_r80_to_i16_intel   );
     860TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuLdSt,          FPU_ST_D80_TEST_T,          fst_r80_to_d80           );
     861
     862TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuBinary1,       FPU_BINARY_R80_TEST_T,      fadd_r80_by_r80          );
     863TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuBinary1,       FPU_BINARY_R80_TEST_T,      fsub_r80_by_r80          );
     864TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuBinary1,       FPU_BINARY_R80_TEST_T,      fsubr_r80_by_r80         );
     865TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuBinary1,       FPU_BINARY_R80_TEST_T,      fmul_r80_by_r80          );
     866TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuBinary1,       FPU_BINARY_R80_TEST_T,      fdiv_r80_by_r80          );
     867TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuBinary1,       FPU_BINARY_R80_TEST_T,      fdivr_r80_by_r80         );
     868TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuBinary1,       FPU_BINARY_R80_TEST_T,      fprem_r80_by_r80         );
     869TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuBinary1,       FPU_BINARY_R80_TEST_T,      fprem1_r80_by_r80        );
     870TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuBinary1,       FPU_BINARY_R80_TEST_T,      fscale_r80_by_r80        );
     871TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuBinary1-Amd,   FPU_BINARY_R80_TEST_T,      fpatan_r80_by_r80_amd    );
     872TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuBinary1-Intel, FPU_BINARY_R80_TEST_T,      fpatan_r80_by_r80_intel  );
     873TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuBinary1-Amd,   FPU_BINARY_R80_TEST_T,      fyl2x_r80_by_r80_amd     );
     874TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuBinary1-Intel, FPU_BINARY_R80_TEST_T,      fyl2x_r80_by_r80_intel   );
     875TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuBinary1-Amd,   FPU_BINARY_R80_TEST_T,      fyl2xp1_r80_by_r80_amd   );
     876TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuBinary1-Intel, FPU_BINARY_R80_TEST_T,      fyl2xp1_r80_by_r80_intel );
     877
     878TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuBinary2,       FPU_BINARY_R64_TEST_T,      fadd_r80_by_r64          );
     879TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuBinary2,       FPU_BINARY_R64_TEST_T,      fmul_r80_by_r64          );
     880TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuBinary2,       FPU_BINARY_R64_TEST_T,      fsub_r80_by_r64          );
     881TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuBinary2,       FPU_BINARY_R64_TEST_T,      fsubr_r80_by_r64         );
     882TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuBinary2,       FPU_BINARY_R64_TEST_T,      fdiv_r80_by_r64          );
     883TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuBinary2,       FPU_BINARY_R64_TEST_T,      fdivr_r80_by_r64         );
     884
     885TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuBinary2,       FPU_BINARY_R32_TEST_T,      fadd_r80_by_r32          );
     886TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuBinary2,       FPU_BINARY_R32_TEST_T,      fmul_r80_by_r32          );
     887TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuBinary2,       FPU_BINARY_R32_TEST_T,      fsub_r80_by_r32          );
     888TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuBinary2,       FPU_BINARY_R32_TEST_T,      fsubr_r80_by_r32         );
     889TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuBinary2,       FPU_BINARY_R32_TEST_T,      fdiv_r80_by_r32          );
     890TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuBinary2,       FPU_BINARY_R32_TEST_T,      fdivr_r80_by_r32         );
     891
     892TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuBinary2,       FPU_BINARY_I32_TEST_T,      fiadd_r80_by_i32         );
     893TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuBinary2,       FPU_BINARY_I32_TEST_T,      fimul_r80_by_i32         );
     894TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuBinary2,       FPU_BINARY_I32_TEST_T,      fisub_r80_by_i32         );
     895TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuBinary2,       FPU_BINARY_I32_TEST_T,      fisubr_r80_by_i32        );
     896TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuBinary2,       FPU_BINARY_I32_TEST_T,      fidiv_r80_by_i32         );
     897TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuBinary2,       FPU_BINARY_I32_TEST_T,      fidivr_r80_by_i32        );
     898
     899TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuBinary2,       FPU_BINARY_I16_TEST_T,      fiadd_r80_by_i16         );
     900TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuBinary2,       FPU_BINARY_I16_TEST_T,      fimul_r80_by_i16         );
     901TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuBinary2,       FPU_BINARY_I16_TEST_T,      fisub_r80_by_i16         );
     902TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuBinary2,       FPU_BINARY_I16_TEST_T,      fisubr_r80_by_i16        );
     903TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuBinary2,       FPU_BINARY_I16_TEST_T,      fidiv_r80_by_i16         );
     904TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuBinary2,       FPU_BINARY_I16_TEST_T,      fidivr_r80_by_i16        );
     905
     906TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuBinary1,       FPU_BINARY_R80_TEST_T,      fcom_r80_by_r80          );
     907TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuBinary1,       FPU_BINARY_R80_TEST_T,      fucom_r80_by_r80         );
     908TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuBinary2,       FPU_BINARY_R64_TEST_T,      fcom_r80_by_r64          );
     909TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuBinary2,       FPU_BINARY_R32_TEST_T,      fcom_r80_by_r32          );
     910TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuBinary2,       FPU_BINARY_I32_TEST_T,      ficom_r80_by_i32         );
     911TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuBinary2,       FPU_BINARY_I16_TEST_T,      ficom_r80_by_i16         );
     912
     913TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuBinary1,       FPU_BINARY_EFL_R80_TEST_T,  fcomi_r80_by_r80         );
     914TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuBinary1,       FPU_BINARY_EFL_R80_TEST_T,  fucomi_r80_by_r80        );
     915
     916TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuOther,         FPU_UNARY_R80_TEST_T,       fabs_r80                 );
     917TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuOther,         FPU_UNARY_R80_TEST_T,       fchs_r80                 );
     918TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuOther-Amd,     FPU_UNARY_R80_TEST_T,       f2xm1_r80_amd            );
     919TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuOther-Intel,   FPU_UNARY_R80_TEST_T,       f2xm1_r80_intel          );
     920TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuOther,         FPU_UNARY_R80_TEST_T,       fsqrt_r80                );
     921TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuOther,         FPU_UNARY_R80_TEST_T,       frndint_r80              );
     922TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuOther-Amd,     FPU_UNARY_R80_TEST_T,       fsin_r80_amd             );
     923TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuOther-Intel,   FPU_UNARY_R80_TEST_T,       fsin_r80_intel           );
     924TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuOther-Amd,     FPU_UNARY_R80_TEST_T,       fcos_r80_amd             );
     925TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuOther-Intel,   FPU_UNARY_R80_TEST_T,       fcos_r80_intel           );
     926
     927TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuOther,         FPU_UNARY_R80_TEST_T,       ftst_r80                 );
     928TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuOther,         FPU_UNARY_R80_TEST_T,       fxam_r80                 );
     929
     930TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuOther-Amd,     FPU_UNARY_TWO_R80_TEST_T,   fptan_r80_r80_amd        );
     931TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuOther-Intel,   FPU_UNARY_TWO_R80_TEST_T,   fptan_r80_r80_intel      );
     932TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuOther,         FPU_UNARY_TWO_R80_TEST_T,   fxtract_r80_r80          );
     933TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuOther-Amd,     FPU_UNARY_TWO_R80_TEST_T,   fsincos_r80_r80_amd      );
     934TSTIEM_DECLARE_TEST_ARRAY_BIN(FpuOther-Intel,   FPU_UNARY_TWO_R80_TEST_T,   fsincos_r80_r80_intel    );
    943935
    944936TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary,    SSE_BINARY_TEST_T,          addps_u128               );
  • trunk/src/VBox/VMM/testcase/tstIEMAImplDataSseBinary.S

    r103056 r103064  
    4141.macro IEM_TEST_DATA a_Instr, a_szDataFile
    4242    .p2align 6
    43     .globl  NAME(g_aTests_\a_Instr)
    44 NAME(g_aTests_\a_Instr):
     43    .globl  NAME(g_abTests_\a_Instr)
     44NAME(g_abTests_\a_Instr):
    4545    .incbin "\a_szDataFile"
    4646NAME(g_aTests_end_\a_Instr):
    4747#ifdef ASM_FORMAT_ELF
    48     .size   NAME(g_aTests_\a_Instr), . - NAME(g_aTests_\a_Instr)
    49     .type   NAME(g_aTests_\a_Instr), object
     48    .size   NAME(g_abTests_\a_Instr), . - NAME(g_aTests_\a_Instr)
     49    .type   NAME(g_abTests_\a_Instr), object
    5050#endif
    5151
     
    5353    .globl  NAME(g_cbTests_\a_Instr)
    5454NAME(g_cbTests_\a_Instr):
    55     .int    NAME(g_aTests_end_\a_Instr) - NAME(g_aTests_\a_Instr)
     55    .int    NAME(g_abTests_end_\a_Instr) - NAME(g_aTests_\a_Instr)
    5656#ifdef ASM_FORMAT_ELF
    5757    .size   NAME(g_cbTests_\a_Instr), 4
     
    403403IEM_TEST_DATA xor_u64_locked, "tstIEMAImplDataInt-xor_u64_locked.bin.gz"
    404404
     405;
     406; Floating point stuff.
     407; dir tstIEMAImplDataFpu*bin.gz /b | sed -e 's/tstIEMAImplDataFpu\([^-]*\)-\([^.]*\)\.bin\.gz$/IEM_TEST_DATA \2, "tstIEMAImplDataFpu\1-\2.bin.gz"/'
     408;
     409IEM_TEST_DATA fadd_r80_by_r80, "tstIEMAImplDataFpuBinary1-fadd_r80_by_r80.bin.gz"
     410IEM_TEST_DATA fcomi_r80_by_r80, "tstIEMAImplDataFpuBinary1-fcomi_r80_by_r80.bin.gz"
     411IEM_TEST_DATA fcom_r80_by_r80, "tstIEMAImplDataFpuBinary1-fcom_r80_by_r80.bin.gz"
     412IEM_TEST_DATA fdivr_r80_by_r80, "tstIEMAImplDataFpuBinary1-fdivr_r80_by_r80.bin.gz"
     413IEM_TEST_DATA fdiv_r80_by_r80, "tstIEMAImplDataFpuBinary1-fdiv_r80_by_r80.bin.gz"
     414IEM_TEST_DATA fmul_r80_by_r80, "tstIEMAImplDataFpuBinary1-fmul_r80_by_r80.bin.gz"
     415IEM_TEST_DATA fpatan_r80_by_r80_amd, "tstIEMAImplDataFpuBinary1-fpatan_r80_by_r80_amd.bin.gz"
     416IEM_TEST_DATA fpatan_r80_by_r80_intel, "tstIEMAImplDataFpuBinary1-fpatan_r80_by_r80_intel.bin.gz"
     417IEM_TEST_DATA fprem1_r80_by_r80, "tstIEMAImplDataFpuBinary1-fprem1_r80_by_r80.bin.gz"
     418IEM_TEST_DATA fprem_r80_by_r80, "tstIEMAImplDataFpuBinary1-fprem_r80_by_r80.bin.gz"
     419IEM_TEST_DATA fscale_r80_by_r80, "tstIEMAImplDataFpuBinary1-fscale_r80_by_r80.bin.gz"
     420IEM_TEST_DATA fsubr_r80_by_r80, "tstIEMAImplDataFpuBinary1-fsubr_r80_by_r80.bin.gz"
     421IEM_TEST_DATA fsub_r80_by_r80, "tstIEMAImplDataFpuBinary1-fsub_r80_by_r80.bin.gz"
     422IEM_TEST_DATA fucomi_r80_by_r80, "tstIEMAImplDataFpuBinary1-fucomi_r80_by_r80.bin.gz"
     423IEM_TEST_DATA fucom_r80_by_r80, "tstIEMAImplDataFpuBinary1-fucom_r80_by_r80.bin.gz"
     424IEM_TEST_DATA fyl2xp1_r80_by_r80_amd, "tstIEMAImplDataFpuBinary1-fyl2xp1_r80_by_r80_amd.bin.gz"
     425IEM_TEST_DATA fyl2xp1_r80_by_r80_intel, "tstIEMAImplDataFpuBinary1-fyl2xp1_r80_by_r80_intel.bin.gz"
     426IEM_TEST_DATA fyl2x_r80_by_r80_amd, "tstIEMAImplDataFpuBinary1-fyl2x_r80_by_r80_amd.bin.gz"
     427IEM_TEST_DATA fyl2x_r80_by_r80_intel, "tstIEMAImplDataFpuBinary1-fyl2x_r80_by_r80_intel.bin.gz"
     428IEM_TEST_DATA fadd_r80_by_r32, "tstIEMAImplDataFpuBinary2-fadd_r80_by_r32.bin.gz"
     429IEM_TEST_DATA fadd_r80_by_r64, "tstIEMAImplDataFpuBinary2-fadd_r80_by_r64.bin.gz"
     430IEM_TEST_DATA fcom_r80_by_r32, "tstIEMAImplDataFpuBinary2-fcom_r80_by_r32.bin.gz"
     431IEM_TEST_DATA fcom_r80_by_r64, "tstIEMAImplDataFpuBinary2-fcom_r80_by_r64.bin.gz"
     432IEM_TEST_DATA fdivr_r80_by_r32, "tstIEMAImplDataFpuBinary2-fdivr_r80_by_r32.bin.gz"
     433IEM_TEST_DATA fdivr_r80_by_r64, "tstIEMAImplDataFpuBinary2-fdivr_r80_by_r64.bin.gz"
     434IEM_TEST_DATA fdiv_r80_by_r32, "tstIEMAImplDataFpuBinary2-fdiv_r80_by_r32.bin.gz"
     435IEM_TEST_DATA fdiv_r80_by_r64, "tstIEMAImplDataFpuBinary2-fdiv_r80_by_r64.bin.gz"
     436IEM_TEST_DATA fiadd_r80_by_i16, "tstIEMAImplDataFpuBinary2-fiadd_r80_by_i16.bin.gz"
     437IEM_TEST_DATA fiadd_r80_by_i32, "tstIEMAImplDataFpuBinary2-fiadd_r80_by_i32.bin.gz"
     438IEM_TEST_DATA ficom_r80_by_i16, "tstIEMAImplDataFpuBinary2-ficom_r80_by_i16.bin.gz"
     439IEM_TEST_DATA ficom_r80_by_i32, "tstIEMAImplDataFpuBinary2-ficom_r80_by_i32.bin.gz"
     440IEM_TEST_DATA fidivr_r80_by_i16, "tstIEMAImplDataFpuBinary2-fidivr_r80_by_i16.bin.gz"
     441IEM_TEST_DATA fidivr_r80_by_i32, "tstIEMAImplDataFpuBinary2-fidivr_r80_by_i32.bin.gz"
     442IEM_TEST_DATA fidiv_r80_by_i16, "tstIEMAImplDataFpuBinary2-fidiv_r80_by_i16.bin.gz"
     443IEM_TEST_DATA fidiv_r80_by_i32, "tstIEMAImplDataFpuBinary2-fidiv_r80_by_i32.bin.gz"
     444IEM_TEST_DATA fimul_r80_by_i16, "tstIEMAImplDataFpuBinary2-fimul_r80_by_i16.bin.gz"
     445IEM_TEST_DATA fimul_r80_by_i32, "tstIEMAImplDataFpuBinary2-fimul_r80_by_i32.bin.gz"
     446IEM_TEST_DATA fisubr_r80_by_i16, "tstIEMAImplDataFpuBinary2-fisubr_r80_by_i16.bin.gz"
     447IEM_TEST_DATA fisubr_r80_by_i32, "tstIEMAImplDataFpuBinary2-fisubr_r80_by_i32.bin.gz"
     448IEM_TEST_DATA fisub_r80_by_i16, "tstIEMAImplDataFpuBinary2-fisub_r80_by_i16.bin.gz"
     449IEM_TEST_DATA fisub_r80_by_i32, "tstIEMAImplDataFpuBinary2-fisub_r80_by_i32.bin.gz"
     450IEM_TEST_DATA fmul_r80_by_r32, "tstIEMAImplDataFpuBinary2-fmul_r80_by_r32.bin.gz"
     451IEM_TEST_DATA fmul_r80_by_r64, "tstIEMAImplDataFpuBinary2-fmul_r80_by_r64.bin.gz"
     452IEM_TEST_DATA fsubr_r80_by_r32, "tstIEMAImplDataFpuBinary2-fsubr_r80_by_r32.bin.gz"
     453IEM_TEST_DATA fsubr_r80_by_r64, "tstIEMAImplDataFpuBinary2-fsubr_r80_by_r64.bin.gz"
     454IEM_TEST_DATA fsub_r80_by_r32, "tstIEMAImplDataFpuBinary2-fsub_r80_by_r32.bin.gz"
     455IEM_TEST_DATA fsub_r80_by_r64, "tstIEMAImplDataFpuBinary2-fsub_r80_by_r64.bin.gz"
     456IEM_TEST_DATA fild_r80_from_i16, "tstIEMAImplDataFpuLdSt-fild_r80_from_i16.bin.gz"
     457IEM_TEST_DATA fild_r80_from_i32, "tstIEMAImplDataFpuLdSt-fild_r80_from_i32.bin.gz"
     458IEM_TEST_DATA fild_r80_from_i64, "tstIEMAImplDataFpuLdSt-fild_r80_from_i64.bin.gz"
     459IEM_TEST_DATA fistt_r80_to_i16_amd, "tstIEMAImplDataFpuLdSt-fistt_r80_to_i16_amd.bin.gz"
     460IEM_TEST_DATA fistt_r80_to_i16_intel, "tstIEMAImplDataFpuLdSt-fistt_r80_to_i16_intel.bin.gz"
     461IEM_TEST_DATA fistt_r80_to_i32, "tstIEMAImplDataFpuLdSt-fistt_r80_to_i32.bin.gz"
     462IEM_TEST_DATA fistt_r80_to_i64, "tstIEMAImplDataFpuLdSt-fistt_r80_to_i64.bin.gz"
     463IEM_TEST_DATA fist_r80_to_i16, "tstIEMAImplDataFpuLdSt-fist_r80_to_i16.bin.gz"
     464IEM_TEST_DATA fist_r80_to_i32, "tstIEMAImplDataFpuLdSt-fist_r80_to_i32.bin.gz"
     465IEM_TEST_DATA fist_r80_to_i64, "tstIEMAImplDataFpuLdSt-fist_r80_to_i64.bin.gz"
     466IEM_TEST_DATA fld1, "tstIEMAImplDataFpuLdSt-fld1.bin.gz"
     467IEM_TEST_DATA fldl2e, "tstIEMAImplDataFpuLdSt-fldl2e.bin.gz"
     468IEM_TEST_DATA fldl2t, "tstIEMAImplDataFpuLdSt-fldl2t.bin.gz"
     469IEM_TEST_DATA fldlg2, "tstIEMAImplDataFpuLdSt-fldlg2.bin.gz"
     470IEM_TEST_DATA fldln2, "tstIEMAImplDataFpuLdSt-fldln2.bin.gz"
     471IEM_TEST_DATA fldpi, "tstIEMAImplDataFpuLdSt-fldpi.bin.gz"
     472IEM_TEST_DATA fldz, "tstIEMAImplDataFpuLdSt-fldz.bin.gz"
     473IEM_TEST_DATA fld_r80_from_d80, "tstIEMAImplDataFpuLdSt-fld_r80_from_d80.bin.gz"
     474IEM_TEST_DATA fld_r80_from_r32, "tstIEMAImplDataFpuLdSt-fld_r80_from_r32.bin.gz"
     475IEM_TEST_DATA fld_r80_from_r64, "tstIEMAImplDataFpuLdSt-fld_r80_from_r64.bin.gz"
     476IEM_TEST_DATA fld_r80_from_r80, "tstIEMAImplDataFpuLdSt-fld_r80_from_r80.bin.gz"
     477IEM_TEST_DATA fst_r80_to_d80, "tstIEMAImplDataFpuLdSt-fst_r80_to_d80.bin.gz"
     478IEM_TEST_DATA fst_r80_to_r32, "tstIEMAImplDataFpuLdSt-fst_r80_to_r32.bin.gz"
     479IEM_TEST_DATA fst_r80_to_r64, "tstIEMAImplDataFpuLdSt-fst_r80_to_r64.bin.gz"
     480IEM_TEST_DATA fst_r80_to_r80, "tstIEMAImplDataFpuLdSt-fst_r80_to_r80.bin.gz"
     481IEM_TEST_DATA f2xm1_r80_amd, "tstIEMAImplDataFpuOther-f2xm1_r80_amd.bin.gz"
     482IEM_TEST_DATA f2xm1_r80_intel, "tstIEMAImplDataFpuOther-f2xm1_r80_intel.bin.gz"
     483IEM_TEST_DATA fabs_r80, "tstIEMAImplDataFpuOther-fabs_r80.bin.gz"
     484IEM_TEST_DATA fchs_r80, "tstIEMAImplDataFpuOther-fchs_r80.bin.gz"
     485IEM_TEST_DATA fcos_r80_amd, "tstIEMAImplDataFpuOther-fcos_r80_amd.bin.gz"
     486IEM_TEST_DATA fcos_r80_intel, "tstIEMAImplDataFpuOther-fcos_r80_intel.bin.gz"
     487IEM_TEST_DATA fptan_r80_r80_amd, "tstIEMAImplDataFpuOther-fptan_r80_r80_amd.bin.gz"
     488IEM_TEST_DATA fptan_r80_r80_intel, "tstIEMAImplDataFpuOther-fptan_r80_r80_intel.bin.gz"
     489IEM_TEST_DATA frndint_r80, "tstIEMAImplDataFpuOther-frndint_r80.bin.gz"
     490IEM_TEST_DATA fsincos_r80_r80_amd, "tstIEMAImplDataFpuOther-fsincos_r80_r80_amd.bin.gz"
     491IEM_TEST_DATA fsincos_r80_r80_intel, "tstIEMAImplDataFpuOther-fsincos_r80_r80_intel.bin.gz"
     492IEM_TEST_DATA fsin_r80_amd, "tstIEMAImplDataFpuOther-fsin_r80_amd.bin.gz"
     493IEM_TEST_DATA fsin_r80_intel, "tstIEMAImplDataFpuOther-fsin_r80_intel.bin.gz"
     494IEM_TEST_DATA fsqrt_r80, "tstIEMAImplDataFpuOther-fsqrt_r80.bin.gz"
     495IEM_TEST_DATA ftst_r80, "tstIEMAImplDataFpuOther-ftst_r80.bin.gz"
     496IEM_TEST_DATA fxam_r80, "tstIEMAImplDataFpuOther-fxam_r80.bin.gz"
     497IEM_TEST_DATA fxtract_r80_r80, "tstIEMAImplDataFpuOther-fxtract_r80_r80.bin.gz"
     498
  • trunk/src/VBox/VMM/testcase/tstIEMAImplDataSseBinary.asm

    r103056 r103064  
    4444;
    4545%macro IEM_TEST_DATA 2
    46 EXPORTEDNAME g_aTests_ %+ %1
     46EXPORTEDNAME g_abTests_ %+ %1
    4747        incbin %2
    48 g_aTests_ %+ %1 %+ _end:
     48g_abTests_ %+ %1 %+ _end:
    4949        align   4, db 0
    5050EXPORTEDNAME g_cbTests_ %+ %1
    51         dd  g_aTests_ %+ %1 %+ _end - NAME(g_aTests_ %+ %1)
     51        dd  g_abTests_ %+ %1 %+ _end - NAME(g_abTests_ %+ %1)
    5252
    5353 %ifdef ASM_FORMAT_ELF
    54 size g_aTests_ %+ %1  g_aTests_ %+ %1 %+ _end - NAME(g_aTests_ %+ %1)
    55 type g_aTests_ %+ %1  object
    56 size g_cbTests_ %+ %1 4
    57 type g_cbTests_ %+ %1 object
     54size g_abTests_ %+ %1   g_abTests_ %+ %1 %+ _end - NAME(g_abTests_ %+ %1)
     55type g_abTests_ %+ %1   object
     56size g_cbTests_ %+ %1   4
     57type g_cbTests_ %+ %1   object
    5858 %endif
    5959%endmacro
     
    401401IEM_TEST_DATA xor_u64_locked, "tstIEMAImplDataInt-xor_u64_locked.bin.gz"
    402402
     403;
     404; Floating point stuff.
     405; dir tstIEMAImplDataFpu*bin.gz /b | sed -e 's/tstIEMAImplDataFpu\([^-]*\)-\([^.]*\)\.bin\.gz$/IEM_TEST_DATA \2, "tstIEMAImplDataFpu\1-\2.bin.gz"/'
     406;
     407IEM_TEST_DATA fadd_r80_by_r80, "tstIEMAImplDataFpuBinary1-fadd_r80_by_r80.bin.gz"
     408IEM_TEST_DATA fcomi_r80_by_r80, "tstIEMAImplDataFpuBinary1-fcomi_r80_by_r80.bin.gz"
     409IEM_TEST_DATA fcom_r80_by_r80, "tstIEMAImplDataFpuBinary1-fcom_r80_by_r80.bin.gz"
     410IEM_TEST_DATA fdivr_r80_by_r80, "tstIEMAImplDataFpuBinary1-fdivr_r80_by_r80.bin.gz"
     411IEM_TEST_DATA fdiv_r80_by_r80, "tstIEMAImplDataFpuBinary1-fdiv_r80_by_r80.bin.gz"
     412IEM_TEST_DATA fmul_r80_by_r80, "tstIEMAImplDataFpuBinary1-fmul_r80_by_r80.bin.gz"
     413IEM_TEST_DATA fpatan_r80_by_r80_amd, "tstIEMAImplDataFpuBinary1-fpatan_r80_by_r80_amd.bin.gz"
     414IEM_TEST_DATA fpatan_r80_by_r80_intel, "tstIEMAImplDataFpuBinary1-fpatan_r80_by_r80_intel.bin.gz"
     415IEM_TEST_DATA fprem1_r80_by_r80, "tstIEMAImplDataFpuBinary1-fprem1_r80_by_r80.bin.gz"
     416IEM_TEST_DATA fprem_r80_by_r80, "tstIEMAImplDataFpuBinary1-fprem_r80_by_r80.bin.gz"
     417IEM_TEST_DATA fscale_r80_by_r80, "tstIEMAImplDataFpuBinary1-fscale_r80_by_r80.bin.gz"
     418IEM_TEST_DATA fsubr_r80_by_r80, "tstIEMAImplDataFpuBinary1-fsubr_r80_by_r80.bin.gz"
     419IEM_TEST_DATA fsub_r80_by_r80, "tstIEMAImplDataFpuBinary1-fsub_r80_by_r80.bin.gz"
     420IEM_TEST_DATA fucomi_r80_by_r80, "tstIEMAImplDataFpuBinary1-fucomi_r80_by_r80.bin.gz"
     421IEM_TEST_DATA fucom_r80_by_r80, "tstIEMAImplDataFpuBinary1-fucom_r80_by_r80.bin.gz"
     422IEM_TEST_DATA fyl2xp1_r80_by_r80_amd, "tstIEMAImplDataFpuBinary1-fyl2xp1_r80_by_r80_amd.bin.gz"
     423IEM_TEST_DATA fyl2xp1_r80_by_r80_intel, "tstIEMAImplDataFpuBinary1-fyl2xp1_r80_by_r80_intel.bin.gz"
     424IEM_TEST_DATA fyl2x_r80_by_r80_amd, "tstIEMAImplDataFpuBinary1-fyl2x_r80_by_r80_amd.bin.gz"
     425IEM_TEST_DATA fyl2x_r80_by_r80_intel, "tstIEMAImplDataFpuBinary1-fyl2x_r80_by_r80_intel.bin.gz"
     426IEM_TEST_DATA fadd_r80_by_r32, "tstIEMAImplDataFpuBinary2-fadd_r80_by_r32.bin.gz"
     427IEM_TEST_DATA fadd_r80_by_r64, "tstIEMAImplDataFpuBinary2-fadd_r80_by_r64.bin.gz"
     428IEM_TEST_DATA fcom_r80_by_r32, "tstIEMAImplDataFpuBinary2-fcom_r80_by_r32.bin.gz"
     429IEM_TEST_DATA fcom_r80_by_r64, "tstIEMAImplDataFpuBinary2-fcom_r80_by_r64.bin.gz"
     430IEM_TEST_DATA fdivr_r80_by_r32, "tstIEMAImplDataFpuBinary2-fdivr_r80_by_r32.bin.gz"
     431IEM_TEST_DATA fdivr_r80_by_r64, "tstIEMAImplDataFpuBinary2-fdivr_r80_by_r64.bin.gz"
     432IEM_TEST_DATA fdiv_r80_by_r32, "tstIEMAImplDataFpuBinary2-fdiv_r80_by_r32.bin.gz"
     433IEM_TEST_DATA fdiv_r80_by_r64, "tstIEMAImplDataFpuBinary2-fdiv_r80_by_r64.bin.gz"
     434IEM_TEST_DATA fiadd_r80_by_i16, "tstIEMAImplDataFpuBinary2-fiadd_r80_by_i16.bin.gz"
     435IEM_TEST_DATA fiadd_r80_by_i32, "tstIEMAImplDataFpuBinary2-fiadd_r80_by_i32.bin.gz"
     436IEM_TEST_DATA ficom_r80_by_i16, "tstIEMAImplDataFpuBinary2-ficom_r80_by_i16.bin.gz"
     437IEM_TEST_DATA ficom_r80_by_i32, "tstIEMAImplDataFpuBinary2-ficom_r80_by_i32.bin.gz"
     438IEM_TEST_DATA fidivr_r80_by_i16, "tstIEMAImplDataFpuBinary2-fidivr_r80_by_i16.bin.gz"
     439IEM_TEST_DATA fidivr_r80_by_i32, "tstIEMAImplDataFpuBinary2-fidivr_r80_by_i32.bin.gz"
     440IEM_TEST_DATA fidiv_r80_by_i16, "tstIEMAImplDataFpuBinary2-fidiv_r80_by_i16.bin.gz"
     441IEM_TEST_DATA fidiv_r80_by_i32, "tstIEMAImplDataFpuBinary2-fidiv_r80_by_i32.bin.gz"
     442IEM_TEST_DATA fimul_r80_by_i16, "tstIEMAImplDataFpuBinary2-fimul_r80_by_i16.bin.gz"
     443IEM_TEST_DATA fimul_r80_by_i32, "tstIEMAImplDataFpuBinary2-fimul_r80_by_i32.bin.gz"
     444IEM_TEST_DATA fisubr_r80_by_i16, "tstIEMAImplDataFpuBinary2-fisubr_r80_by_i16.bin.gz"
     445IEM_TEST_DATA fisubr_r80_by_i32, "tstIEMAImplDataFpuBinary2-fisubr_r80_by_i32.bin.gz"
     446IEM_TEST_DATA fisub_r80_by_i16, "tstIEMAImplDataFpuBinary2-fisub_r80_by_i16.bin.gz"
     447IEM_TEST_DATA fisub_r80_by_i32, "tstIEMAImplDataFpuBinary2-fisub_r80_by_i32.bin.gz"
     448IEM_TEST_DATA fmul_r80_by_r32, "tstIEMAImplDataFpuBinary2-fmul_r80_by_r32.bin.gz"
     449IEM_TEST_DATA fmul_r80_by_r64, "tstIEMAImplDataFpuBinary2-fmul_r80_by_r64.bin.gz"
     450IEM_TEST_DATA fsubr_r80_by_r32, "tstIEMAImplDataFpuBinary2-fsubr_r80_by_r32.bin.gz"
     451IEM_TEST_DATA fsubr_r80_by_r64, "tstIEMAImplDataFpuBinary2-fsubr_r80_by_r64.bin.gz"
     452IEM_TEST_DATA fsub_r80_by_r32, "tstIEMAImplDataFpuBinary2-fsub_r80_by_r32.bin.gz"
     453IEM_TEST_DATA fsub_r80_by_r64, "tstIEMAImplDataFpuBinary2-fsub_r80_by_r64.bin.gz"
     454IEM_TEST_DATA fild_r80_from_i16, "tstIEMAImplDataFpuLdSt-fild_r80_from_i16.bin.gz"
     455IEM_TEST_DATA fild_r80_from_i32, "tstIEMAImplDataFpuLdSt-fild_r80_from_i32.bin.gz"
     456IEM_TEST_DATA fild_r80_from_i64, "tstIEMAImplDataFpuLdSt-fild_r80_from_i64.bin.gz"
     457IEM_TEST_DATA fistt_r80_to_i16_amd, "tstIEMAImplDataFpuLdSt-fistt_r80_to_i16_amd.bin.gz"
     458IEM_TEST_DATA fistt_r80_to_i16_intel, "tstIEMAImplDataFpuLdSt-fistt_r80_to_i16_intel.bin.gz"
     459IEM_TEST_DATA fistt_r80_to_i32, "tstIEMAImplDataFpuLdSt-fistt_r80_to_i32.bin.gz"
     460IEM_TEST_DATA fistt_r80_to_i64, "tstIEMAImplDataFpuLdSt-fistt_r80_to_i64.bin.gz"
     461IEM_TEST_DATA fist_r80_to_i16, "tstIEMAImplDataFpuLdSt-fist_r80_to_i16.bin.gz"
     462IEM_TEST_DATA fist_r80_to_i32, "tstIEMAImplDataFpuLdSt-fist_r80_to_i32.bin.gz"
     463IEM_TEST_DATA fist_r80_to_i64, "tstIEMAImplDataFpuLdSt-fist_r80_to_i64.bin.gz"
     464IEM_TEST_DATA fld1, "tstIEMAImplDataFpuLdSt-fld1.bin.gz"
     465IEM_TEST_DATA fldl2e, "tstIEMAImplDataFpuLdSt-fldl2e.bin.gz"
     466IEM_TEST_DATA fldl2t, "tstIEMAImplDataFpuLdSt-fldl2t.bin.gz"
     467IEM_TEST_DATA fldlg2, "tstIEMAImplDataFpuLdSt-fldlg2.bin.gz"
     468IEM_TEST_DATA fldln2, "tstIEMAImplDataFpuLdSt-fldln2.bin.gz"
     469IEM_TEST_DATA fldpi, "tstIEMAImplDataFpuLdSt-fldpi.bin.gz"
     470IEM_TEST_DATA fldz, "tstIEMAImplDataFpuLdSt-fldz.bin.gz"
     471IEM_TEST_DATA fld_r80_from_d80, "tstIEMAImplDataFpuLdSt-fld_r80_from_d80.bin.gz"
     472IEM_TEST_DATA fld_r80_from_r32, "tstIEMAImplDataFpuLdSt-fld_r80_from_r32.bin.gz"
     473IEM_TEST_DATA fld_r80_from_r64, "tstIEMAImplDataFpuLdSt-fld_r80_from_r64.bin.gz"
     474IEM_TEST_DATA fld_r80_from_r80, "tstIEMAImplDataFpuLdSt-fld_r80_from_r80.bin.gz"
     475IEM_TEST_DATA fst_r80_to_d80, "tstIEMAImplDataFpuLdSt-fst_r80_to_d80.bin.gz"
     476IEM_TEST_DATA fst_r80_to_r32, "tstIEMAImplDataFpuLdSt-fst_r80_to_r32.bin.gz"
     477IEM_TEST_DATA fst_r80_to_r64, "tstIEMAImplDataFpuLdSt-fst_r80_to_r64.bin.gz"
     478IEM_TEST_DATA fst_r80_to_r80, "tstIEMAImplDataFpuLdSt-fst_r80_to_r80.bin.gz"
     479IEM_TEST_DATA f2xm1_r80_amd, "tstIEMAImplDataFpuOther-f2xm1_r80_amd.bin.gz"
     480IEM_TEST_DATA f2xm1_r80_intel, "tstIEMAImplDataFpuOther-f2xm1_r80_intel.bin.gz"
     481IEM_TEST_DATA fabs_r80, "tstIEMAImplDataFpuOther-fabs_r80.bin.gz"
     482IEM_TEST_DATA fchs_r80, "tstIEMAImplDataFpuOther-fchs_r80.bin.gz"
     483IEM_TEST_DATA fcos_r80_amd, "tstIEMAImplDataFpuOther-fcos_r80_amd.bin.gz"
     484IEM_TEST_DATA fcos_r80_intel, "tstIEMAImplDataFpuOther-fcos_r80_intel.bin.gz"
     485IEM_TEST_DATA fptan_r80_r80_amd, "tstIEMAImplDataFpuOther-fptan_r80_r80_amd.bin.gz"
     486IEM_TEST_DATA fptan_r80_r80_intel, "tstIEMAImplDataFpuOther-fptan_r80_r80_intel.bin.gz"
     487IEM_TEST_DATA frndint_r80, "tstIEMAImplDataFpuOther-frndint_r80.bin.gz"
     488IEM_TEST_DATA fsincos_r80_r80_amd, "tstIEMAImplDataFpuOther-fsincos_r80_r80_amd.bin.gz"
     489IEM_TEST_DATA fsincos_r80_r80_intel, "tstIEMAImplDataFpuOther-fsincos_r80_r80_intel.bin.gz"
     490IEM_TEST_DATA fsin_r80_amd, "tstIEMAImplDataFpuOther-fsin_r80_amd.bin.gz"
     491IEM_TEST_DATA fsin_r80_intel, "tstIEMAImplDataFpuOther-fsin_r80_intel.bin.gz"
     492IEM_TEST_DATA fsqrt_r80, "tstIEMAImplDataFpuOther-fsqrt_r80.bin.gz"
     493IEM_TEST_DATA ftst_r80, "tstIEMAImplDataFpuOther-ftst_r80.bin.gz"
     494IEM_TEST_DATA fxam_r80, "tstIEMAImplDataFpuOther-fxam_r80.bin.gz"
     495IEM_TEST_DATA fxtract_r80_r80, "tstIEMAImplDataFpuOther-fxtract_r80_r80.bin.gz"
     496
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