VirtualBox

Changeset 102447 in vbox for trunk/include


Ignore:
Timestamp:
Dec 4, 2023 1:05:53 PM (17 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
160590
Message:

VMM/IEM: movsx & movzx from registers. bugref:10371

File:
1 edited

Legend:

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

    r102377 r102447  
    30243024
    30253025
     3026/** A64: Encodes a SXTB instruction (sign-extend 8-bit value to 32/64-bit).
     3027 * @see Armv8A64MkInstrBitfieldImm for parameter details.  */
     3028DECL_FORCE_INLINE(uint32_t) Armv8A64MkInstrSxtb(uint32_t iRegResult, uint32_t iRegSrc, bool f64Bit = true)
     3029{
     3030    return Armv8A64MkInstrSbfm(0, iRegResult, iRegSrc, 0, 7, f64Bit);
     3031}
     3032
     3033
     3034/** A64: Encodes a SXTH instruction (sign-extend 16-bit value to 32/64-bit).
     3035 * @see Armv8A64MkInstrBitfieldImm for parameter details.  */
     3036DECL_FORCE_INLINE(uint32_t) Armv8A64MkInstrSxth(uint32_t iRegResult, uint32_t iRegSrc, bool f64Bit = true)
     3037{
     3038    return Armv8A64MkInstrSbfm(0, iRegResult, iRegSrc, 0, 15, f64Bit);
     3039}
     3040
     3041
     3042/** A64: Encodes a SXTH instruction (sign-extend 32-bit value to 64-bit).
     3043 * @see Armv8A64MkInstrBitfieldImm for parameter details.  */
     3044DECL_FORCE_INLINE(uint32_t) Armv8A64MkInstrSxtw(uint32_t iRegResult, uint32_t iRegSrc)
     3045{
     3046    return Armv8A64MkInstrSbfm(0, iRegResult, iRegSrc, 0, 31, true /*f64Bit*/);
     3047}
     3048
     3049
    30263050/** A64: Encodes a BFM instruction.
    30273051 * @see Armv8A64MkInstrBitfieldImm for parameter details.  */
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette