VirtualBox

儲存庫 vbox 的更動 12232


忽略:
時間撮記:
2008-9-8 下午03:23:46 (16 年 以前)
作者:
vboxsync
訊息:

iprt/asm.h: better fix

檔案:
修改 1 筆資料

圖例:

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

    r12223 r12232  
    25382538                         : "0" (*pu64),
    25392539                           "b" ( (uint32_t)u64 ),
    2540                            "c" ( (uint32_t)(u64 >> 32) ),
    2541                            "m" (*pu64));
     2540                           "c" ( (uint32_t)(u64 >> 32) ));
    25422541#   endif
    25432542#  else
     
    28392838                         : "=a" (u32Ret),
    28402839                           "=d" (u32Spill),
    2841                            "=m" (*pu64)
     2840                           "+m" (*pu64)
    28422841                         : "A" (u64Old),
    28432842                           "m" ( u32EBX ),
    28442843                           "c" ( (uint32_t)(u64New >> 32) ),
    2845                            "S" (pu64)
    2846 #    ifdef RT_OS_DARWIN
    2847                          :  "memory"
    2848 #    else
    2849                          ,  "m" (*pu64)
    2850 #    endif
    2851                         );
     2844                           "S" (pu64));
    28522845#   else /* !PIC */
    28532846    uint32_t u32Spill;
     
    28572850                         : "=a" (u32Ret),
    28582851                           "=d" (u32Spill),
    2859                            "=m" (*pu64)
     2852                           "+m" (*pu64)
    28602853                         : "A" (u64Old),
    28612854                           "b" ( (uint32_t)u64New ),
    2862                            "c" ( (uint32_t)(u64New >> 32) ),
    2863                            "m" (*pu64));
     2855                           "c" ( (uint32_t)(u64New >> 32) ));
    28642856#   endif
    28652857    return (bool)u32Ret;
     
    37283720                         "movl %3, %%ebx\n\t"
    37293721                         : "=A" (u64),
    3730                            "=m" (*pu64)
     3722                           "+m" (*pu64)
    37313723                         : "0" (0),
    37323724                           "m" (u32EBX),
    37333725                           "c" (0),
    3734                            "S" (pu64)
    3735 #    ifdef RT_OS_DARWIN
    3736                          :  "memory"
    3737 #    else
    3738                          ,  "m" (*pu64)
    3739 #    endif
    3740                         );
     3726                           "S" (pu64));
    37413727#   else /* !PIC */
    37423728    __asm__ __volatile__("lock; cmpxchg8b %1\n\t"
    37433729                         : "=A" (u64),
    3744                            "=m" (*pu64)
     3730                           "+m" (*pu64)
    37453731                         : "0" (0),
    37463732                           "b" (0),
    3747                            "c" (0),
    3748                            "m" (*pu64));
     3733                           "c" (0));
    37493734#   endif
    37503735#  else
     
    38073792                         "movl %3, %%ebx\n\t"
    38083793                         : "=A" (u64),
    3809                            "=m" (*pu64)
     3794                           "+m" (*pu64)
    38103795                         : "0" (0),
    38113796                           "m" (u32EBX),
    38123797                           "c" (0),
    3813                            "S" (pu64)
    3814 #    ifdef RT_OS_DARWIN
    3815                          :  "memory"
    3816 #    else
    3817                          ,  "m" (*pu64)
    3818 #    endif
    3819                         );
     3798                           "S" (pu64));
    38203799#   else /* !PIC */
    38213800    __asm__ __volatile__("cmpxchg8b %1\n\t"
    38223801                         : "=A" (u64),
    3823                            "=m" (*pu64)
     3802                           "+m" (*pu64)
    38243803                         : "0" (0),
    38253804                           "b" (0),
    3826                            "c" (0),
    3827                            "m" (*pu64));
     3805                           "c" (0));
    38283806#   endif
    38293807#  else
注意: 瀏覽 TracChangeset 來幫助您使用更動檢視器

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