Subversion Repositories HelenOS-historic

Rev

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

Rev 112 Rev 240
Line 49... Line 49...
49
        "   .set    push\n"
49
        "   .set    push\n"
50
        "   .set    noreorder\n"
50
        "   .set    noreorder\n"
51
        "   nop\n"
51
        "   nop\n"
52
        "1:\n"
52
        "1:\n"
53
        "   ll  %0, %1\n"
53
        "   ll  %0, %1\n"
54
        "   addu    %0, %0, %2\n"
54
        "   addu    %0, %0, %3\n"
55
        "       move    %3, %0\n"
55
        "       move    %2, %0\n"
56
        "   sc  %0, %1\n"
56
        "   sc  %0, %1\n"
57
        "   beq %0, 0x0, 1b\n"
57
        "   beq %0, 0x0, 1b\n"
58
        "   move    %0, %3\n"
58
        "   move    %0, %2\n"
59
        "   .set    pop\n"
59
        "   .set    pop\n"
60
        : "=&r" (tmp), "=o" (*val)
60
        : "=&r" (tmp), "=o" (*val), "=r" (tmp2)
61
        : "r" (i), "r" (tmp2)
61
        : "r" (i)
62
        );
62
        );
63
    return tmp;
63
    return tmp;
64
}
64
}
65
 
65
 
66
 
66
 
Line 78... Line 78...
78
        "   .set    push\n"
78
        "   .set    push\n"
79
        "   .set    noreorder\n"
79
        "   .set    noreorder\n"
80
        "   nop\n"
80
        "   nop\n"
81
        "1:\n"
81
        "1:\n"
82
        "   ll  %0, %1\n"
82
        "   ll  %0, %1\n"
83
        "   subu    %0, %0, %2\n"
83
        "   subu    %0, %0, %3\n"
84
        "       move    %3, %0\n"
84
        "       move    %2, %0\n"
85
        "   sc  %0, %1\n"
85
        "   sc  %0, %1\n"
86
        "   beq %0, 0x0, 1b\n"
86
        "   beq %0, 0x0, 1b\n"
87
        "       move    %0, %3\n"
87
        "       move    %0, %2\n"
88
        "   .set    pop\n"
88
        "   .set    pop\n"
89
        : "=&r" (tmp), "=o" (*val)
89
        : "=&r" (tmp), "=o" (*val), "=r" (tmp2)
90
        : "r" (i), "r" (tmp2)
90
        : "r" (i)
91
        );
91
        );
92
    return tmp;
92
    return tmp;
93
}
93
}
94
 
94
 
95
 
95