VirtualBox

Changeset 103860 in vbox for trunk/include/iprt/armv8.h


Ignore:
Timestamp:
Mar 14, 2024 11:47:09 PM (9 months ago)
Author:
vboxsync
Message:

VMM/IEM: Reworked iemNativeEmitMaybeRaiseSseRelatedXcpt to avoid relative 14-bit jumps on arm64, optimizing it while at it. Also redid much of the tail label emitting (all but a few call a helper taking only pVCpu as arg). Made the fixup code assert+barf upon short 14-bit jumps to tail TB code as those will blow up for large TBs. bugref:10614 bugref:10370

File:
1 edited

Legend:

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

    r103833 r103860  
    36233623
    36243624
     3625/** A64: Encodes the CBZ instructions. */
     3626DECL_FORCE_INLINE(uint32_t) Armv8A64MkInstrCbz(int32_t iImm19, uint32_t iReg, bool f64Bit = true)
     3627{
     3628    return Armv8A64MkInstrCbzCbnz(false /*fJmpIfNotZero*/, iImm19, iReg, f64Bit);
     3629}
     3630
     3631
     3632/** A64: Encodes the CBNZ instructions. */
     3633DECL_FORCE_INLINE(uint32_t) Armv8A64MkInstrCbnz(int32_t iImm19, uint32_t iReg, bool f64Bit = true)
     3634{
     3635    return Armv8A64MkInstrCbzCbnz(true /*fJmpIfNotZero*/, iImm19, iReg, f64Bit);
     3636}
     3637
     3638
    36253639/**
    36263640 * A64: Encodes TBZ and TBNZ (conditional branch w/ immediate) instructions.
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