Changeset e5dc7b8 in mainline


Ignore:
Timestamp:
2006-06-11T16:38:24Z (19 years ago)
Author:
Ondrej Palkovsky <ondrap@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
0b917dd
Parents:
8060a24c
Message:

Fix either bad compiler or bad code. The net result is better
optimization in GCC

File:
1 edited

Legend:

Unmodified
Added
Removed
  • arch/ia32/include/atomic.h

    r8060a24c re5dc7b8  
    5353static inline long atomic_postinc(atomic_t *val)
    5454{
    55         long r;
     55        long r = 1;
    5656
    5757        __asm__ volatile (
    58                 "movl $1, %0\n"
    59                 "lock xaddl %0, %1\n"
    60                 : "=r" (r), "=m" (val->count)
     58                "lock xaddl %1, %0\n"
     59                : "=m" (val->count) : "r" (r)
    6160        );
    6261
     
    6665static inline long atomic_postdec(atomic_t *val)
    6766{
    68         long r;
     67        long r = -1;
    6968       
    7069        __asm__ volatile (
    71                 "movl $-1, %0\n"
    72                 "lock xaddl %0, %1\n"
    73                 : "=r" (r), "=m" (val->count)
     70                "lock xaddl %1, %0\n"
     71                : "=m" (val->count) : "r"(r)
    7472        );
    7573       
Note: See TracChangeset for help on using the changeset viewer.