github.com/bir3/gocompiler@v0.9.2202/src/cmd/cgo/internal/test/issue9400/asm_loong64.s (about) 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