VirtualBox

Changeset 106692 in vbox for trunk/src/VBox/VMM


Ignore:
Timestamp:
Oct 25, 2024 12:27:42 PM (4 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
165562
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/VMM/VMMAll/IEMAllInstTwoByte0f.cpp.h

    r106097 r106692  
    36223622        IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT();
    36233623        IEM_MC_MAYBE_RAISE_FPU_XCPT();
     3624
     3625        IEM_MC_PREPARE_FPU_USAGE();
     3626
    36243627        IEM_MC_FETCH_MEM_U64(u64Src, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);
    3625 
    3626         IEM_MC_PREPARE_FPU_USAGE();
    3627         IEM_MC_FPU_TO_MMX_MODE();
     3628        IEM_MC_FETCH_XREG_XMM(Dst, IEM_GET_MODRM_REG(pVCpu, bRm)); /* Need it because the high quadword remains unchanged. */
    36283629
    36293630        IEM_MC_CALL_SSE_AIMPL_2(iemAImpl_cvtpi2ps_u128, pDst, u64Src);
     
    36313632
    36323633        IEM_MC_ADVANCE_RIP_AND_FINISH();
     3634        IEM_MC_FPU_TO_MMX_MODE();
    36333635        IEM_MC_END();
    36343636    }
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