VirtualBox

Changeset 12153 in vbox


Ignore:
Timestamp:
Sep 5, 2008 8:16:01 PM (16 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
36119
Message:

asm fixes for gcc-4.3, hope this compiles

File:
1 edited

Legend:

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

    r12092 r12153  
    22762276                         : "=m" (*pu8),
    22772277                           "=q" (u8) /* =r - busted on g++ (GCC) 3.4.4 20050721 (Red Hat 3.4.4-2) */
    2278                          : "1" (u8));
     2278                         : "1" (u8),
     2279                           "m" (*pu8));
    22792280# else
    22802281    __asm
     
    23442345                         : "=m" (*pu16),
    23452346                           "=r" (u16)
    2346                          : "1" (u16));
     2347                         : "1" (u16),
     2348                           "m" (*pu16));
    23472349# else
    23482350    __asm
     
    23952397                         : "=m" (*pu32),
    23962398                           "=r" (u32)
    2397                          : "1" (u32));
     2399                         : "1" (u32),
     2400                           "m" (*pu32));
    23982401
    23992402# elif RT_INLINE_ASM_USES_INTRIN
     
    24542457                         : "=m" (*pu64),
    24552458                           "=r" (u64)
    2456                          : "1" (u64));
     2459                         : "1" (u64),
     2460                           "m" (pu64));
    24572461#  else
    24582462    __asm
     
    24802484                           "m" ( u32EBX ),
    24812485                           "c" ( (uint32_t)(u64 >> 32) ),
    2482                            "S" (pu64) );
     2486                           "S" (pu64),
     2487                           "m" (*pu64));
    24832488#   else /* !PIC */
    24842489    __asm__ __volatile__("1:\n\t"
     
    24892494                         : "0" (*pu64),
    24902495                           "b" ( (uint32_t)u64 ),
    2491                            "c" ( (uint32_t)(u64 >> 32) ));
     2496                           "c" ( (uint32_t)(u64 >> 32) ),
     2497                           "m" (*pu64));
    24922498#   endif
    24932499#  else
     
    26842690                           "=a" (u32Old)
    26852691                         : "r" (u32New),
    2686                            "2" (u32Old));
     2692                           "2" (u32Old),
     2693                           "m" (*pu32));
    26872694    return (bool)u8Ret;
    26882695
     
    27592766                           "=a" (u64Old)
    27602767                         : "r" (u64New),
    2761                            "2" (u64Old));
     2768                           "2" (u64Old),
     2769                           "m" (*pu64));
    27622770    return (bool)u8Ret;
    27632771#  else
     
    27912799                           "m" ( u32EBX ),
    27922800                           "c" ( (uint32_t)(u64New >> 32) ),
    2793                            "S" (pu64) );
     2801                           "S" (pu64),
     2802                           "m" (*pu64));
    27942803#   else /* !PIC */
    27952804    uint32_t u32Spill;
     
    28022811                         : "A" (u64Old),
    28032812                           "b" ( (uint32_t)u64New ),
    2804                            "c" ( (uint32_t)(u64New >> 32) ));
     2813                           "c" ( (uint32_t)(u64New >> 32) ),
     2814                           "m" (*pu64));
    28052815#   endif
    28062816    return (bool)u32Ret;
     
    29282938                           "=a" (*pu32Old)
    29292939                         : "r" (u32New),
    2930                            "a" (u32Old));
     2940                           "a" (u32Old),
     2941                           "m" (*pu32));
    29312942    return (bool)u8Ret;
    29322943
     
    30113022                           "=a" (*pu64Old)
    30123023                         : "r" (u64New),
    3013                            "a" (u64Old));
     3024                           "a" (u64Old),
     3025                           "m" (*pu64));
    30143026    return (bool)u8Ret;
    30153027#  else
     
    31953207                         : "=r" (u32),
    31963208                           "=m" (*pu32)
    3197                          : "0" (u32)
     3209                         : "0" (u32),
     3210                           "m" (*pu32)
    31983211                         : "memory");
    31993212    return u32;
     
    32503263                         : "=r" (u32),
    32513264                           "=m" (*pu32)
    3252                          : "0" (1)
     3265                         : "0" (1),
     3266                           "m" (*pu32)
    32533267                         : "memory");
    32543268    return u32+1;
     
    33043318                         : "=r" (u32),
    33053319                           "=m" (*pu32)
    3306                          : "0" (-1)
     3320                         : "0" (-1),
     3321                           "m" (*pu32)
    33073322                         : "memory");
    33083323    return u32-1;
     
    33553370    __asm__ __volatile__("lock; orl %1, %0\n\t"
    33563371                         : "=m" (*pu32)
    3357                          : "ir" (u32));
     3372                         : "ir" (u32),
     3373                           "m" (*pu32));
    33583374# else
    33593375    __asm
     
    34023418    __asm__ __volatile__("lock; andl %1, %0\n\t"
    34033419                         : "=m" (*pu32)
    3404                          : "ir" (u32));
     3420                         : "ir" (u32),
     3421                           "m" (*pu32));
    34053422# else
    34063423    __asm
     
    36663683                           "m" (u32EBX),
    36673684                           "c" (0),
    3668                            "S" (pu64));
     3685                           "S" (pu64),
     3686                           "m" (*pu64));
    36693687#   else /* !PIC */
    36703688    __asm__ __volatile__("lock; cmpxchg8b %1\n\t"
     
    36733691                         : "0" (0),
    36743692                           "b" (0),
    3675                            "c" (0));
     3693                           "c" (0),
     3694                           "m" (*pu64));
    36763695#   endif
    36773696#  else
     
    37383757                           "m" (u32EBX),
    37393758                           "c" (0),
    3740                            "S" (pu64));
     3759                           "S" (pu64),
     3760                           "m" (*pu64));
    37413761#   else /* !PIC */
    37423762    __asm__ __volatile__("cmpxchg8b %1\n\t"
     
    37453765                         : "0" (0),
    37463766                           "b" (0),
    3747                            "c" (0));
     3767                           "c" (0),
     3768                           "m" (*pu64));
    37483769#   endif
    37493770#  else
     
    49004921    __asm__ __volatile__ ("btsl %1, %0"
    49014922                          : "=m" (*(volatile long *)pvBitmap)
    4902                           : "Ir" (iBit)
     4923                          : "Ir" (iBit),
     4924                            "m" (*(volatile long *)pvBitmap)
    49034925                          : "memory");
    49044926# else
     
    49364958    __asm__ __volatile__ ("lock; btsl %1, %0"
    49374959                          : "=m" (*(volatile long *)pvBitmap)
    4938                           : "Ir" (iBit)
     4960                          : "Ir" (iBit),
     4961                            "m" (*(volatile long *)pvBitmap)
    49394962                          : "memory");
    49404963# else
     
    49734996    __asm__ __volatile__ ("btrl %1, %0"
    49744997                          : "=m" (*(volatile long *)pvBitmap)
    4975                           : "Ir" (iBit)
     4998                          : "Ir" (iBit),
     4999                            "m" (*(volatile long *)pvBitmap)
    49765000                          : "memory");
    49775001# else
     
    50085032    __asm__ __volatile__ ("lock; btrl %1, %0"
    50095033                          : "=m" (*(volatile long *)pvBitmap)
    5010                           : "Ir" (iBit)
     5034                          : "Ir" (iBit),
     5035                            "m" (*(volatile long *)pvBitmap)
    50115036                          : "memory");
    50125037# else
     
    50445069    __asm__ __volatile__ ("btcl %1, %0"
    50455070                          : "=m" (*(volatile long *)pvBitmap)
    5046                           : "Ir" (iBit)
     5071                          : "Ir" (iBit),
     5072                            "m" (*(volatile long *)pvBitmap)
    50475073                          : "memory");
    50485074# else
     
    50785104    __asm__ __volatile__ ("lock; btcl %1, %0"
    50795105                          : "=m" (*(volatile long *)pvBitmap)
    5080                           : "Ir" (iBit)
     5106                          : "Ir" (iBit),
     5107                            "m" (*(volatile long *)pvBitmap)
    50815108                          : "memory");
    50825109# else
     
    51215148                          : "=q" (rc.u32),
    51225149                            "=m" (*(volatile long *)pvBitmap)
    5123                           : "Ir" (iBit)
     5150                          : "Ir" (iBit),
     5151                            "m" (*(volatile long *)pvBitmap)
    51245152                          : "memory");
    51255153# else
     
    51665194                          : "=q" (rc.u32),
    51675195                            "=m" (*(volatile long *)pvBitmap)
    5168                           : "Ir" (iBit)
     5196                          : "Ir" (iBit),
     5197                            "m" (*(volatile long *)pvBitmap)
    51695198                          : "memory");
    51705199# else
     
    52125241                          : "=q" (rc.u32),
    52135242                            "=m" (*(volatile long *)pvBitmap)
    5214                           : "Ir" (iBit)
     5243                          : "Ir" (iBit),
     5244                            "m" (*(volatile long *)pvBitmap)
    52155245                          : "memory");
    52165246# else
     
    52595289                          : "=q" (rc.u32),
    52605290                            "=m" (*(volatile long *)pvBitmap)
    5261                           : "Ir" (iBit)
     5291                          : "Ir" (iBit),
     5292                            "m" (*(volatile long *)pvBitmap)
    52625293                          : "memory");
    52635294# else
     
    53055336                          : "=q" (rc.u32),
    53065337                            "=m" (*(volatile long *)pvBitmap)
    5307                           : "Ir" (iBit)
     5338                          : "Ir" (iBit),
     5339                            "m" (*(volatile long *)pvBitmap)
    53085340                          : "memory");
    53095341# else
     
    53485380                          : "=q" (rc.u32),
    53495381                            "=m" (*(volatile long *)pvBitmap)
    5350                           : "Ir" (iBit)
     5382                          : "Ir" (iBit),
     5383                            "m" (*(volatile long *)pvBitmap)
    53515384                          : "memory");
    53525385# else
Note: See TracChangeset for help on using the changeset viewer.

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