aboutsummaryrefslogtreecommitdiff
path: root/include/EASTL/internal/atomic/arch/arch.h
blob: 4924a5911c34df3a446ea143723a04422d4250e8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
/////////////////////////////////////////////////////////////////////////////////
// Copyright (c) Electronic Arts Inc. All rights reserved.
/////////////////////////////////////////////////////////////////////////////////


#ifndef EASTL_ATOMIC_INTERNAL_ARCH_H
#define EASTL_ATOMIC_INTERNAL_ARCH_H

#if defined(EA_PRAGMA_ONCE_SUPPORTED)
	#pragma once
#endif


/////////////////////////////////////////////////////////////////////////////////
//
// Include the architecture specific implementations
//
#if defined(EA_PROCESSOR_X86) || defined(EA_PROCESSOR_X86_64)

	#include "x86/arch_x86.h"

#elif defined(EA_PROCESSOR_ARM32) || defined(EA_PROCESSOR_ARM64)

	#include "arm/arch_arm.h"

#endif


/////////////////////////////////////////////////////////////////////////////////


#include "arch_fetch_add.h"
#include "arch_fetch_sub.h"

#include "arch_fetch_and.h"
#include "arch_fetch_xor.h"
#include "arch_fetch_or.h"

#include "arch_add_fetch.h"
#include "arch_sub_fetch.h"

#include "arch_and_fetch.h"
#include "arch_xor_fetch.h"
#include "arch_or_fetch.h"

#include "arch_exchange.h"

#include "arch_cmpxchg_weak.h"
#include "arch_cmpxchg_strong.h"

#include "arch_load.h"
#include "arch_store.h"

#include "arch_compiler_barrier.h"

#include "arch_cpu_pause.h"

#include "arch_memory_barrier.h"

#include "arch_signal_fence.h"

#include "arch_thread_fence.h"


#endif /* EASTL_ATOMIC_INTERNAL_ARCH_H */