VirtualBox

Changeset 105093 in vbox for trunk/src/VBox/ValidationKit


Ignore:
Timestamp:
Jul 2, 2024 9:02:55 AM (7 months ago)
Author:
vboxsync
Message:

ValidationKit/bootsectors: bugref:10658 SIMD FP testcase: Remove fSseInstr and fAvxInstr from BS3CPUINSTR4_TEST1_CTX_T.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-4.c32

    r105091 r105093  
    493493
    494494
     495DECL_FORCE_INLINE(bool) bs3CpuInstr4IsSse(uint8_t enmType)
     496{
     497    return enmType >= T_SSE && enmType < T_AVX_128;
     498}
     499
     500
     501DECL_FORCE_INLINE(bool) bs3CpuInstr4IsAvx(uint8_t enmType)
     502{
     503    return enmType >= T_AVX_128;
     504}
     505
     506
     507DECL_FORCE_INLINE(uint8_t) bs3CpuInstr4GetOperandSize(uint8_t enmType)
     508{
     509    return enmType < T_128BITS ?  64/8
     510         : enmType < T_256BITS ? 128/8 : 256/8;
     511}
     512
     513
    495514/**
    496515 * Gets the names of floating-point exception flags that are set for a given MXCSR.
     
    10621081    uint8_t                              cbInstr;      /**< Size of the instruction opcode. */
    10631082    uint8_t                              bXcptExpect;  /**< The expected exception while/after executing the instruction. */
    1064     bool                                 fSseInstr;    /**< Whether this is an SSE instruction. */
    1065     bool                                 fAvxInstr;    /**< Whether this is an AVX instruction. */
    10661083    uint16_t                             idTestStep;   /**< The test iteration step. */
    10671084} BS3CPUINSTR4_TEST1_CTX_T;
     
    10931110    bool const       fFpFlagsExpect      = RT_BOOL(  (fExpectedMxCsrFlags
    10941111                                                   & (~pValues->fMxCsrMask >> X86_MXCSR_XCPT_MASK_SHIFT)) & X86_MXCSR_XCPT_FLAGS);
     1112    bool const       fSseInstr           = bs3CpuInstr4IsSse(pTest->enmType);
    10951113    uint32_t         uMxCsr;
    10961114    X86YMMREG        MemOpExpect;
     
    11181136        Bs3MemCpy(puMemOpAlias, &pValues->uSrc1, cbMemOp);
    11191137        if (pTest->iRegDst == UINT8_MAX)
    1120             BS3_ASSERT(pTestCtx->fSseInstr);
     1138            BS3_ASSERT(fSseInstr);
    11211139        else
    11221140            MemOpExpect.ymm = pValues->uSrc1.ymm;
    11231141    }
    1124     else if (pTestCtx->fSseInstr)
     1142    else if (fSseInstr)
    11251143        Bs3ExtCtxSetXmm(pExtCtx, pTest->iRegSrc1, &pValues->uSrc1.ymm.DQWords.dqw0);
    11261144    else
     
    11351153        MemOpExpect.ymm = pValues->uSrc2.ymm;
    11361154    }
    1137     else if (pTestCtx->fSseInstr)
     1155    else if (fSseInstr)
    11381156        Bs3ExtCtxSetXmm(pExtCtx, pTest->iRegSrc2, &pValues->uSrc2.ymm.DQWords.dqw0);
    11391157    else
     
    11811199        && pTest->iRegDst != UINT8_MAX)
    11821200    {
    1183         if (pTestCtx->fSseInstr)
     1201        if (fSseInstr)
    11841202            Bs3ExtCtxSetXmm(pExtCtx, pTest->iRegDst, &pValues->uDstOut.ymm.DQWords.dqw0);
    11851203        else
     
    13121330                    BS3CPUINSTR4_TEST1_T const BS3_FAR *pTest = &paTests[iTest];
    13131331                    unsigned const    cValues       = pTest->cValues;
    1314                     bool const        fSseInstr     = pTest->enmType >= T_SSE && pTest->enmType < T_AVX_128;
    1315                     bool const        fAvxInstr     = pTest->enmType >= T_AVX_128;
    1316                     uint8_t const     cbOperand     = pTest->enmType < T_128BITS ? 64/8
    1317                                                     : pTest->enmType < T_256BITS ? 128/8 : 256/8;
     1332                    bool const        fSseInstr     = bs3CpuInstr4IsSse(pTest->enmType);
     1333                    bool const        fAvxInstr     = bs3CpuInstr4IsAvx(pTest->enmType);
     1334                    uint8_t const     cbOperand     = bs3CpuInstr4GetOperandSize(pTest->enmType);
    13181335                    uint8_t const     cbMemOp       = bs3CpuInstrXMemOpSize(cbOperand, pTest->enmRm);
    13191336                    uint8_t const     cbAlign       = cbMemOp;
     
    13931410                            TestCtx.cbOperand    = cbOperand;
    13941411                            TestCtx.bXcptExpect  = bXcptExpect;
    1395                             TestCtx.fSseInstr    = fSseInstr;
    1396                             TestCtx.fAvxInstr    = fAvxInstr;
    13971412                            TestCtx.idTestStep   = idTestStep;
    13981413                            cErrors = bs3CpuInstr4_WorkerTestType1_Inner(bMode, &TestCtx, &SavedCfg);
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