VirtualBox

Changeset 102770 in vbox for trunk


Ignore:
Timestamp:
Jan 4, 2024 11:41:44 PM (9 months ago)
Author:
vboxsync
Message:

VMM/IEM: ARM fixes for native IEM_MC_PUSH translation. bugref:10371

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/iprt/armv8.h

    r102735 r102770  
    29462946                                                      uint32_t uImm7SizeLen, uint32_t uImm6Rotations, bool f64Bit)
    29472947{
    2948     Assert(u2Opc < 4); Assert(uImm7SizeLen < (f64Bit ? UINT32_C(0x7f) : UINT32_C(0x3f)));
    2949     Assert(uImm6Rotations < UINT32_C(0x3f)); Assert(iRegResult < 32); Assert(iRegSrc < 32);
     2948    Assert(u2Opc < 4); Assert(uImm7SizeLen < (f64Bit ? UINT32_C(0x7f) : UINT32_C(0x1f)));
     2949    Assert(uImm6Rotations <= UINT32_C(0x3f)); Assert(iRegResult < 32); Assert(iRegSrc < 32);
    29502950    return ((uint32_t)f64Bit                << 31)
    29512951         | (u2Opc                           << 29)
  • trunk/src/VBox/VMM/VMMAll/IEMAllN8veRecompiler.cpp

    r102768 r102770  
    1150811508    Assert(Armv8A64ConvertImmRImmS2Mask32(15, 0) == 0xffff);
    1150911509    pCodeBuf[off++] = Armv8A64MkInstrAndImm(idxRegEffSp, idxRegEffSp, 15, 0,  false /*f64Bit*/);
    11510     /* bfi regrsp, regeff, 0, 16 - moves bits 7:16 from idxVarReg to idxGstTmpReg bits 16:0. */
    11511     pCodeBuf[off++] = Armv8A64MkInstrBfi(idxRegRsp, idxRegEffSp, 15, 0, false /*f64Bit*/);
     11510    /* bfi regrsp, regeff, #0, #16 - moves bits 15:0 from idxVarReg to idxGstTmpReg bits 15:0. */
     11511    pCodeBuf[off++] = Armv8A64MkInstrBfi(idxRegRsp, idxRegEffSp, 0, 16, false /*f64Bit*/);
    1151211512#endif
    1151311513    return off;
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