VirtualBox

儲存庫 vbox 的更動 51834


忽略:
時間撮記:
2014-7-3 上午07:52:22 (10 年 以前)
作者:
vboxsync
訊息:

gcc inline: use '=g' here we can also directly operate on memory and of course '=' prevents constants. Also fix the typo in ASMRotateRightU64()

檔案:
修改 1 筆資料

圖例:

未更動
新增
刪除
  • trunk/include/iprt/asm.h

    r51831 r51834  
    48274827    return _rotl(u32, cShift);
    48284828#elif RT_INLINE_ASM_GNU_STYLE && (defined(RT_ARCH_AMD64) || defined(RT_ARCH_X86))
    4829     __asm__ __volatile__("roll %b1, %0" : "=r" (u32) : "Ic" (cShift), "0" (u32));
     4829    __asm__ __volatile__("roll %b1, %0" : "=g" (u32) : "Ic" (cShift), "0" (u32));
    48304830    return u32;
    48314831#else
     
    48484848    return _rotr(u32, cShift);
    48494849#elif RT_INLINE_ASM_GNU_STYLE && (defined(RT_ARCH_AMD64) || defined(RT_ARCH_X86))
    4850     __asm__ __volatile__("rorl %b1, %0" : "=r" (u32) : "Ic" (cShift), "0" (u32));
     4850    __asm__ __volatile__("rorl %b1, %0" : "=g" (u32) : "Ic" (cShift), "0" (u32));
    48514851    return u32;
    48524852#else
     
    48694869    return _rotl64(u64, cShift);
    48704870#elif RT_INLINE_ASM_GNU_STYLE && defined(RT_ARCH_AMD64)
    4871     __asm__ __volatile__("rolq %b1, %0" : "=r" (u64) : "Jc" (cShift), "0" (u64));
     4871    __asm__ __volatile__("rolq %b1, %0" : "=g" (u64) : "Jc" (cShift), "0" (u64));
    48724872    return u64;
    48734873#elif RT_INLINE_ASM_GNU_STYLE && defined(RT_ARCH_X86)
     
    49064906    return _rotr64(u64, cShift);
    49074907#elif RT_INLINE_ASM_GNU_STYLE && defined(RT_ARCH_AMD64)
    4908     __asm__ __volatile__("rorq %b1, %0" : "=r" (u64) : "Jr" (cShift), "0" (u64));
     4908    __asm__ __volatile__("rorq %b1, %0" : "=g" (u64) : "Jc" (cShift), "0" (u64));
    49094909    return u64;
    49104910#elif RT_INLINE_ASM_GNU_STYLE && defined(RT_ARCH_X86)
注意: 瀏覽 TracChangeset 來幫助您使用更動檢視器

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