summaryrefslogtreecommitdiff
path: root/libpthread/nptl/sysdeps/arc/pthread_spin_lock.S
blob: 7a5e630b80af93db53bff4ae9428d97c15f2b7b7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/*
 * Copyright (C) 2013 Synopsys, Inc. (www.synopsys.com)
 *
 * Licensed under LGPL v2.1 or later, see the file COPYING.LIB in this tarball.
 */

#include <sysdep.h>

; int pthread_spin_lock(pthread_spinlock_t *lock)
; 1 - locked, 0 - unlocked

ENTRY(pthread_spin_lock)
	mov_s	r1, 1
	nop_s
1:
	ex	r1, [r0]
	breq	r1, 1, 1b

	j.d	[blink]
	mov	r0, 0
END(pthread_spin_lock)