Mercurial > hg > CbC > CbC_gcc
view libgo/misc/cgo/test/issue9400/asm_arm64.s @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children | 84e7813d76e9 |
line wrap: on
line source
// Copyright 2014 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // +build !gccgo #include "textflag.h" TEXT ·RewindAndSetgid(SB),NOSPLIT,$-8-0 // Save link register MOVD R30, R9 // Rewind stack pointer so anything that happens on the stack // will clobber the test pattern created by the caller ADD $(1024 * 8), RSP // Ask signaller to setgid MOVD $·Baton(SB), R0 MOVD $1, R1 storeloop: LDAXRW (R0), R2 STLXRW R1, (R0), R3 CBNZ R3, storeloop // Wait for setgid completion MOVW $0, R1 MOVW $0, R2 loop: LDAXRW (R0), R3 CMPW R1, R3 BNE loop STLXRW R2, (R0), R3 CBNZ R3, loop // Restore stack SUB $(1024 * 8), RSP MOVD R9, R30 RET