comparison libgo/misc/cgo/test/issue9400/asm_mips64x.s @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
comparison
equal deleted inserted replaced
68:561a7518be6b 111:04ced10e8804
1 // Copyright 2016 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
4
5 // +build mips64 mips64le
6 // +build !gccgo
7
8 #include "textflag.h"
9
10 #define SYNC WORD $0xf
11
12 TEXT ·RewindAndSetgid(SB),NOSPLIT|NOFRAME,$0-0
13 // Rewind stack pointer so anything that happens on the stack
14 // will clobber the test pattern created by the caller
15 ADDV $(1024*8), R29
16
17 // Ask signaller to setgid
18 MOVW $1, R1
19 SYNC
20 MOVW R1, ·Baton(SB)
21 SYNC
22
23 // Wait for setgid completion
24 loop:
25 SYNC
26 MOVW ·Baton(SB), R1
27 OR R2, R2, R2 // hint that we're in a spin loop
28 BNE R1, loop
29 SYNC
30
31 // Restore stack
32 ADDV $(-1024*8), R29
33 RET