xref: /haiku/src/system/libroot/os/arch/ppc/atomic.S (revision b3d3ee5a2f04e67c1de86c7004ef76dd38678554)
15af32e75SAxel Dörfler/*
2*b3d3ee5aSAlexander von Gluck IV * Copyright 2017 Haiku, Inc. All rights reserved.
378e18495SAxel Dörfler * Distributed under the terms of the MIT License.
4*b3d3ee5aSAlexander von Gluck IV *
5*b3d3ee5aSAlexander von Gluck IV * Authors:
6*b3d3ee5aSAlexander von Gluck IV *		Alexander von Gluck IV <kallisti5@unixzen.com>
75af32e75SAxel Dörfler */
85af32e75SAxel Dörfler
9fd78b6dfSAlexander von Gluck IV#include <asm_defs.h>
105af32e75SAxel Dörfler
115af32e75SAxel Dörfler.text
125af32e75SAxel Dörfler
13*b3d3ee5aSAlexander von Gluck IV#ifdef __powerpc__
14*b3d3ee5aSAlexander von Gluck IV#warning IMPLEMENT GCC 64-bit ATOMICS ON POWERPC 32-bit!
155af32e75SAxel Dörfler
16*b3d3ee5aSAlexander von Gluck IV/* These are to fill in 64-bit atomic calls emitted by
17*b3d3ee5aSAlexander von Gluck IV * by GCC when 64-bit atomics are unavailable.
18*b3d3ee5aSAlexander von Gluck IV * (aka, on 32-bit PowerPC
195af32e75SAxel Dörfler */
205af32e75SAxel Dörfler
21*b3d3ee5aSAlexander von Gluck IVFUNCTION(__atomic_fetch_add_8):
22fd78b6dfSAlexander von Gluck IV	sync
23fd78b6dfSAlexander von Gluck IV	blr
24*b3d3ee5aSAlexander von Gluck IVFUNCTION_END(__atomic_fetch_add_8)
255af32e75SAxel Dörfler
26*b3d3ee5aSAlexander von Gluck IVFUNCTION(__atomic_store_8):
27*b3d3ee5aSAlexander von Gluck IV	sync
285af32e75SAxel Dörfler	blr
29*b3d3ee5aSAlexander von Gluck IVFUNCTION_END(__atomic_store_8)
30*b3d3ee5aSAlexander von Gluck IV
31*b3d3ee5aSAlexander von Gluck IVFUNCTION(__atomic_load_8):
32*b3d3ee5aSAlexander von Gluck IV	sync
33*b3d3ee5aSAlexander von Gluck IV	blr
34*b3d3ee5aSAlexander von Gluck IVFUNCTION_END(__atomic_load_8)
35*b3d3ee5aSAlexander von Gluck IV
36*b3d3ee5aSAlexander von Gluck IV#endif /* __powerpc__ */
37