aboutsummaryrefslogtreecommitdiff
path: root/libatomic/gload.c
AgeCommit message (Collapse)AuthorFilesLines
2024-06-12Libatomic: Define per-file identifier macrosVictor Do Nascimento1-0/+2
In order to facilitate the fine-tuning of how `libatomic_i.h' and `host-config.h' headers are used by different atomic functions, we define distinct identifier macros for each file which, in implementing atomic operations, imports these headers. The idea is that different parts of these headers could then be conditionally defined depending on the macros set by the file that `#include'd them. Given how it is possible that some file names are generic enough that using them as-is for macro names (e.g. flag.c -> FLAG) may potentially lead to name clashes with other macros, all file names first have LAT_ prepended to them such that, for example, flag.c is assigned the LAT_FLAG macro. Libatomic/ChangeLog: * cas_n.c (LAT_CAS_N): New. * exch_n.c (LAT_EXCH_N): Likewise. * fadd_n.c (LAT_FADD_N): Likewise. * fand_n.c (LAT_FAND_N): Likewise. * fence.c (LAT_FENCE): Likewise. * fenv.c (LAT_FENV): Likewise. * fior_n.c (LAT_FIOR_N): Likewise. * flag.c (LAT_FLAG): Likewise. * fnand_n.c (LAT_FNAND_N): Likewise. * fop_n.c (LAT_FOP_N): Likewise * fsub_n.c (LAT_FSUB_N): Likewise. * fxor_n.c (LAT_FXOR_N): Likewise. * gcas.c (LAT_GCAS): Likewise. * gexch.c (LAT_GEXCH): Likewise. * glfree.c (LAT_GLFREE): Likewise. * gload.c (LAT_GLOAD): Likewise. * gstore.c (LAT_GSTORE): Likewise. * load_n.c (LAT_LOAD_N): Likewise. * store_n.c (LAT_STORE_N): Likewise. * tas_n.c (LAT_TAS_N): Likewise.
2024-01-03Update copyright years.Jakub Jelinek1-1/+1
2023-01-16Update copyright years.Jakub Jelinek1-1/+1
2022-01-03Update copyright years.Jakub Jelinek1-1/+1
2021-01-04Update copyright years.Jakub Jelinek1-1/+1
2020-01-01Update copyright years.Jakub Jelinek1-1/+1
From-SVN: r279813
2019-01-01Update copyright years.Jakub Jelinek1-1/+1
From-SVN: r267494
2018-01-03Update copyright years.Jakub Jelinek1-1/+1
From-SVN: r256169
2017-01-01Update copyright years.Jakub Jelinek1-1/+1
From-SVN: r243994
2016-01-04Update copyright years.Jakub Jelinek1-1/+1
From-SVN: r232055
2015-01-05Update copyright years.Jakub Jelinek1-1/+1
From-SVN: r219188
2014-01-02Update copyright years in libatomic/Richard Sandiford1-1/+1
From-SVN: r206291
2013-03-24Avoid non constant memory model uses in libatomicAndi Kleen1-1/+1
x86 ends up using non constant memory models for some of the libatomic functions. These all end up as __ATOMIC_SEQ_CST. Just use this directly. This avoids a new warning for non constant memory models, which broke the bootstrap with -Werror Passed bootstrap and test on x86_64-linux. libatomic/: 2013-03-23 Andi Kleen <ak@linux.intel.com> * gcas.c: (EXACT_INLINE): Use __ATOMIC_SEQ_CST. * gexch.c: (EXACT_INLINE): Use __ATOMIC_SEQ_CST. * gload.c: (EXACT_INLINE): Use __ATOMIC_SEQ_CST. * gstore.c: (EXACT_INLINE): Use __ATOMIC_SEQ_CST. diff --git a/libatomic/gcas.c b/libatomic/gcas.c index edbf611..e3d77f3 100644 --- a/libatomic/gcas.c +++ b/libatomic/gcas.c @@ -32,7 +32,7 @@ # define EXACT_INLINE(N) \ if (C2(HAVE_ATOMIC_CAS_,N)) \ return __atomic_compare_exchange_n \ - (PTR(N,mptr), PTR(N,eptr), *PTR(N,dptr), false, smodel, fmodel) + (PTR(N,mptr), PTR(N,eptr), *PTR(N,dptr), false, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST) #else # define EXACT_INLINE(N) #endif diff --git a/libatomic/gexch.c b/libatomic/gexch.c index 1999067..c8c8658 100644 --- a/libatomic/gexch.c +++ b/libatomic/gexch.c @@ -33,7 +33,7 @@ if (C2(HAVE_ATOMIC_EXCHANGE_,N)) \ { \ *PTR(N,rptr) = __atomic_exchange_n \ - (PTR(N,mptr), *PTR(N,vptr), smodel); \ + (PTR(N,mptr), *PTR(N,vptr), __ATOMIC_SEQ_CST); \ return; \ } #else diff --git a/libatomic/gload.c b/libatomic/gload.c index df318d5..85865bd 100644 --- a/libatomic/gload.c +++ b/libatomic/gload.c @@ -32,7 +32,7 @@ # define EXACT_INLINE(N, DEST, SRC, DONE) \ if (C2(HAVE_ATOMIC_LDST_,N)) \ { \ - DEST = __atomic_load_n (SRC, smodel); \ + DEST = __atomic_load_n (SRC, __ATOMIC_SEQ_CST); \ DONE; \ } #else diff --git a/libatomic/gstore.c b/libatomic/gstore.c index d571e58..84f9a8d 100644 --- a/libatomic/gstore.c +++ b/libatomic/gstore.c @@ -32,7 +32,7 @@ # define EXACT_INLINE(N) \ if (C2(HAVE_ATOMIC_LDST_,N)) \ { \ - __atomic_store_n (PTR(N,mptr), *PTR(N,vptr), smodel); \ + __atomic_store_n (PTR(N,mptr), *PTR(N,vptr), __ATOMIC_SEQ_CST); \ return; \ } #else From-SVN: r197017
2013-01-14Update copyright years in libatomic.Richard Sandiford1-1/+1
From-SVN: r195164
2012-05-01Add libatomic as a target library.Richard Henderson1-0/+100
From-SVN: r187018