VirtualBox

Changeset 9183 in vbox for trunk/include


Ignore:
Timestamp:
May 28, 2008 1:49:04 AM (17 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
31326
Message:

Fixed broken ASMMemFill32 implementation for VC80+. Use stosq when possible on AMD64 instead of stosd (ASMMemZero32, ASMMemFill32).

File:
1 edited

Legend:

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

    r8889 r9183  
    39103910{
    39113911# if RT_INLINE_ASM_USES_INTRIN
    3912     __stosd((unsigned long *)pv, 0, cb >> 2);
     3912#  ifdef RT_ARCH_AMD64
     3913    if (!(cb & 7))
     3914        __stosq((unsigned __int64 *)pv, 0, cb / 8);
     3915    else
     3916#  endif
     3917        __stosd((unsigned long *)pv, 0, cb / 4);
    39133918
    39143919# elif RT_INLINE_ASM_GNU_STYLE
     
    39533958{
    39543959# if RT_INLINE_ASM_USES_INTRIN
    3955     __stosd((unsigned long *)pv, 0, cb >> 2);
     3960#  ifdef RT_ARCH_AMD64
     3961    if (!(cb & 7))
     3962        __stosq((unsigned __int64 *)pv, RT_MAKE_U64(u32, u32), cb / 8);
     3963    else
     3964#  endif
     3965        __stosd((unsigned long *)pv, u32, cb / 4);
    39563966
    39573967# elif RT_INLINE_ASM_GNU_STYLE
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