21 lines
495 B
ArmAsm
21 lines
495 B
ArmAsm
// Copyright (c) 2026 Petr Balvín <opensource@petrbalvin.org> (https://petrbalvin.org)
|
|
// SPDX-License-Identifier: BSD-3-Clause
|
|
|
|
#include "textflag.h"
|
|
|
|
// func atomicAdd(ptr *int64, val int64) int64
|
|
TEXT ·atomicAdd(SB), NOSPLIT, $0-24
|
|
MOV a+0(FP), X10
|
|
MOV b+8(FP), X11
|
|
AMOADDD X11, (X10), X12
|
|
MOV X12, ret+16(FP)
|
|
RET
|
|
|
|
// func fpAdd(a, b float64) float64
|
|
TEXT ·fpAdd(SB), NOSPLIT, $0-24
|
|
FLD a+0(FP), F10
|
|
FLD b+8(FP), F11
|
|
FADDD F10, F11, F12
|
|
FSD F12, ret+16(FP)
|
|
RET
|