VirtualBox

Changeset 106546 in vbox for trunk


Ignore:
Timestamp:
Oct 21, 2024 7:58:11 AM (6 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
165380
Message:

include/iprt/asm.h: Make it build on win.arm64, bugref:10392 [attempted build fix]

File:
1 edited

Legend:

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

    r106545 r106546  
    63706370DECLINLINE(uint32_t) ASMAtomicUoOrExU32(uint32_t volatile RT_FAR *pu32, uint32_t u32) RT_NOTHROW_DEF
    63716371{
    6372 #if RT_INLINE_ASM_USES_INTRIN /** @todo Check what the compiler generates... */
     6372#if defined(RT_ARCH_ARM64) || defined(RT_ARCH_ARM32)
     6373# if RT_INLINE_ASM_USES_INTRIN /** @todo Check what the compiler generates... */
    63736374    return (uint32_t)_InterlockedOr_nf((long volatile RT_FAR *)pu32, u32);
    6374 
    6375 #elif defined(RT_ARCH_ARM64) || defined(RT_ARCH_ARM32)
    6376 # if defined(RTASM_ARM64_USE_FEAT_LSE)
     6375# elif defined(RTASM_ARM64_USE_FEAT_LSE)
    63776376    uint32_t u32OldRet;
    63786377    __asm__ __volatile__("Lstart_ASMAtomicOrExU32_%=:\n\t"
     
    63826381                         : [fBitsToSet] "r"   (u32)
    63836382                         : );
    6384 # else
     6383    return u32OldRet;
     6384# else
     6385    uint32_t u32OldRet;
    63856386    RTASM_ARM_LOAD_MODIFY_STORE_RET_OLD_32(ASMAtomicUoOrExU32, pu32, NO_BARRIER,
    63866387                                           "orr %w[uNew], %w[uOld], %w[uVal]\n\t",
    63876388                                           "orr %[uNew], %[uOld], %[uVal]\n\t",
    63886389                                           [uVal] "r" (u32));
    6389 # endif
    63906390    return u32OldRet;
    6391 
     6391# endif
    63926392#else
    63936393    return ASMAtomicOrExU32(pu32, u32); /* (we have no unordered cmpxchg primitive atm.) */
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