]> Cypherpunks.ru repositories - gostls13.git/blob - misc/cgo/test/issue9400/asm_loong64.s
c242fc6c623566e9d7eca3b457a5059310d9cbed
[gostls13.git] / misc / cgo / test / issue9400 / asm_loong64.s
1 // Copyright 2022 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 #include "textflag.h"
6
7 TEXT ·RewindAndSetgid(SB),NOSPLIT|NOFRAME,$0-0
8         // Rewind stack pointer so anything that happens on the stack
9         // will clobber the test pattern created by the caller
10         ADDV    $(1024*8), R3
11
12         // Ask signaller to setgid
13         MOVW    $1, R12
14         DBAR
15         MOVW    R12, ·Baton(SB)
16         DBAR
17
18         // Wait for setgid completion
19 loop:
20         DBAR
21         MOVW    ·Baton(SB), R12
22         OR      R13, R13, R13   // hint that we're in a spin loop
23         BNE     R12, loop
24         DBAR
25
26         // Restore stack
27         ADDV    $(-1024*8), R3
28         RET