File: __testandset.S

package info (click to toggle)
dietlibc 0.34~cvs20160606-10
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 11,336 kB
  • sloc: ansic: 71,631; asm: 13,006; cpp: 1,860; makefile: 799; sh: 292; perl: 62
file content (25 lines) | stat: -rw-r--r-- 332 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include "mips-asm.h"

.text
.align 2
.global __testandset
.ent	__testandset
.type	__testandset,@function
__testandset:
1:
#if _MIPS_SIM != _ABI64
	.set	mips2
#endif
	ll	$2, 0($4)
	.set	noreorder
	bnez	$2, 1f
	li	$8, 1
	.set	reorder
	sc	$8, 0($4)
	beqz	$8, 1b
1:
#if _MIPS_SIM != _ABI64
	.set	mips0
#endif
	jr	$31
.end	__testandset