Subversion Repositories HelenOS-historic

Rev

Rev 861 | Rev 1024 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 861 Rev 863
Line 51... Line 51...
51
        "0:\n"
51
        "0:\n"
52
        "ldx %0, %1\n"
52
        "ldx %0, %1\n"
53
        "add %1, %3, %2\n"
53
        "add %1, %3, %2\n"
54
        "casx %0, %1, %2\n"
54
        "casx %0, %1, %2\n"
55
        "cmp %1, %2\n"
55
        "cmp %1, %2\n"
56
        "bne 0b\n"
56
        "bne 0b\n"      /* The operation failed and must be attempted again if a != b. */
57
        "nop\n"
57
        "nop\n"
58
        : "=m" (*((__u64 *)x)), "=r" (a), "=r" (b)
58
        : "=m" (*((__u64 *)x)), "=r" (a), "=r" (b)
59
        : "r" (i)
59
        : "r" (i)
60
    );
60
    );
61
 
61