diff --git a/sysdeps/alpha/atomicity.h b/sysdeps/alpha/atomicity.h index 34a538f4c0..6ed2ee61ed 100644 --- a/sysdeps/alpha/atomicity.h +++ b/sysdeps/alpha/atomicity.h @@ -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 */"