VirtualBox

Ignore:
Timestamp:
Oct 25, 2024 12:27:42 PM (3 months ago)
Author:
vboxsync
Message:

ValidationKit/bootsectors: Implement SIMD FP testcases for cvtpi2ps, and fix it in IEM; bugref:10658; jiraref:VBP-1206

IEM:

  • fix IEM cvtpi2ps [mem] trashing the target register
  • fix IEM cvtpi2ps [mem] sometimes leaving x87/MMX FTW in the wrong state

Valkit:

  • fix Bs3ExtCtxSetReg() ability to load MMX registers
  • add BS3_REGISTER_IS_MMX macro
  • fix test worker's interaction with x87/MMX FTW
  • add 'RAND_x6' FP32 value bars for use in tests of these instructions
  • add wacky set of macros for injecting integers into FP data arrays
  • implement cvtpi2ps tests
File:
1 edited

Legend:

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

    r106620 r106692  
    334334#define MM6     (BS3_REGISTER_FAMILY_MMX        | 6)
    335335#define MM7     (BS3_REGISTER_FAMILY_MMX        | 7)
     336#define          BS3_REGISTER_IS_MMX(uReg)      ((uReg) >= MM0 && (uReg) <= MM7)
    336337
    337338#define          BS3_REGISTER_FAMILY_OPMASK     (0xE8 | BS3_REGISTER_FAMILY_AVX512_TODO)
     
    490491                return true;
    491492            case BS3_REGISTER_FAMILY_OTHER:
    492                 if (uReg >= MM0 && uReg <= MM7)
    493                     return Bs3ExtCtxSetMm(pExtCtx, uRegNum, (uint64_t)pValue, BS3EXTCTXTOPMM_SET);
     493                if (BS3_REGISTER_IS_MMX(uReg))
     494                    return Bs3ExtCtxSetMm(pExtCtx, uRegNum, *((uint64_t *)pValue), BS3EXTCTXTOPMM_AS_IS);
     495                break;
    494496            case BS3_REGISTER_FAMILY_8BIT_L:
    495497            case BS3_REGISTER_FAMILY_ZMM:
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