Correct counting of subsections.

This commit is contained in:
Ulrich Drepper 1999-06-21 13:00:14 +00:00
parent e261a74e16
commit ad5ec55ca3

View File

@ -36,10 +36,10 @@ exchange_and_add (volatile uint32_t *mem, int val)
"addl %0,%4,%1\n\t"
"stl_c %1,%2\n\t"
"beq %1,2f\n"
".subsection 2\n"
".subsection 1\n"
"2:\t"
"br 1b\n"
".subsection 1\n\t"
".previous\n\t"
"mb\n\t"
"/* End exchange & add */"
: "=&r"(result), "=&r"(tmp), "=m"(*mem)
@ -61,10 +61,10 @@ atomic_add (volatile uint32_t *mem, int val)
"addl %0,%3,%0\n\t"
"stl_c %0,%1\n\t"
"beq %0,2f\n\t"
".subsection 2\n"
".subsection 1\n"
"2:\t"
"br 1b\n"
".subsection 1\n\t"
".previous\n\t"
"mb\n\t"
"/* End exchange & add */"
: "=&r"(result), "=m"(*mem)
@ -86,10 +86,10 @@ compare_and_swap (volatile long int *p, long int oldval, long int newval)
"mov %3,%0\n\t"
"stq_c %0,%1\n\t"
"beq %0,2f\n\t"
".subsection 2\n"
".subsection 1\n"
"2:\t"
"br 1b\n"
".subsection 1\n\t"
".previous\n\t"
"3:\t"
"mb\n\t"
"/* End compare & swap */"