]> Cypherpunks.ru repositories - gostls13.git/blob - misc/cgo/test/testdata/issue9400/asm_mipsx.s
63261bbf9d08d82e3c85d52a99e2adfb96afecee
[gostls13.git] / misc / cgo / test / testdata / issue9400 / asm_mipsx.s
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 mips mipsle
6 // +build gc
7
8 #include "textflag.h"
9
10 TEXT ·RewindAndSetgid(SB),NOSPLIT|NOFRAME,$0-0
11         // Rewind stack pointer so anything that happens on the stack
12         // will clobber the test pattern created by the caller
13         ADDU    $(1024*8), R29
14
15         // Ask signaller to setgid
16         MOVW    $1, R1
17         SYNC
18         MOVW    R1, ·Baton(SB)
19         SYNC
20
21         // Wait for setgid completion
22 loop:
23         SYNC
24         MOVW    ·Baton(SB), R1
25         OR      R2, R2, R2      // hint that we're in a spin loop
26         BNE     R1, loop
27         SYNC
28
29         // Restore stack
30         ADDU    $(-1024*8), R29
31         RET