Commit Graph

139 Commits (awsm)

Author SHA1 Message Date
Paul Khuong bc608c1d7c gcc/x86{,_64}/ck_pr: unify case enumeration for ck_pr_cas and ck_pr_cas_value
5 years ago
Paul Khuong e18fba64ec gcc/x86{,_64}/ck_pr: improve codegen for compare-and-swap, particularly on GCC6+
5 years ago
Paul Khuong b02bb2b805 x86/ck_pr: fix register constraint for ck_pr_foo_is_zero
5 years ago
Marius Strobl 21d3e31940 ck_pr/sparcv9: use the correct address space for atomics on FreeBSD
6 years ago
Kevin Bowling 5ff2e9d3e6 ck_pr: use sync instead of lwsync on ppc32 by default
6 years ago
Theo Schlossnagle 1c2469358e Implement ck_pr_dec_is_zero family of functions (#115)
7 years ago
Olivier Houchard bcecb8a916 gcc/ck_pr: Fix ck_pr_md_load_ptr() and ck_pr_md_store_ptr().
7 years ago
Samy Al Bahra afe01108d1 ck_cc: add a disable builtin flag for the FreeBSD kernel.
7 years ago
Samy Al Bahra 5517381929 freebsd/x86: Allow and override fence instructions to match kernel environment.
7 years ago
Samy Al Bahra a2d1743476 [whitespace] gcc/x86/ck_pr: closing comment for UMP ifdef block.
7 years ago
Samy Al Bahra 14e51eaa91 ck_pr/sparcv9: use the more stringent #MemIssue barrier.
7 years ago
Samy Al Bahra 4042fea5a8 ck_pr/x86_64: cleanup documentation around semantics.
7 years ago
Neale Ferguson 52809f0039 Minor editorial updates and update CFLAGS for production use
8 years ago
Neale Ferguson 2c01ecec64 Add s390x support
8 years ago
Alexey Kopytov 5f1be5dc83 AArch64 LSE support.
8 years ago
Olivier Houchard dae84bac06 ck_pr/aarch64: style.
8 years ago
Olivier Houchard 4425c94ef7 ck_pr/aarch64: Don't forget the "cc" and "memory" clobbers.
8 years ago
Olivier Houchard 02af290b85 ck_pr: Add an option to disable any double function
8 years ago
Olivier Houchard 2868848a2f ck_pr/ppc: Get the right prototype for ck_pr_cas_ptr_value().
8 years ago
Olivier Houchard 5ae12a19d0 gcc/ck_pr: Try to make sure the compiler isn't unhappy about constness.
8 years ago
Olivier Houchard 1c9257af77 ck_pr: missed a few occurrences of stdbool.h that should be ck_stdbool.h.
8 years ago
Olivier Houchard 2159452170 ck_pr/aarch64: Use the right asm constraints.
8 years ago
Olivier Houchard 7c456ca778 ck_pr/aarch64: That should be CK_PR_AARCH64_H, not CK_PR_ARM_H
8 years ago
Olivier Houchard 92aabcade0 ck_pr: First cut at an aarch64 native implementation.
8 years ago
Olivier Houchard 9c072391cf ck_pr/arm : We never defined CK_PR_CAS_S, so there's no need to undef it.
8 years ago
alfredo bc594bf809 use __restrict__ under GCC to support both C++ and C
8 years ago
Samy Al Bahra 52f42c4392 ck_pr: Add ck_pr_fence_acqrel.
9 years ago
Olivier Houchard 27fb1bc00f ck: Reimplement a few libc headers, to make CK build when compiling in the
9 years ago
Samy Al Bahra 414ba224ca ck_cc: Add FORCE_INLINE attribute and remove stale comments.
9 years ago
Olivier Houchard 37d94f4f4e ck_pr/arm : Add load, store and CAS for double.
9 years ago
Michael Haberler abc8e871af arm/c++: cast arguments using CK_CPP_CAST
9 years ago
Michael Haberler 9911e46c7d x86_64/c++: cast arguments using CK_CPP_CAST
9 years ago
Olivier Houchard d2ee99b7f4 ck_pr/arm : Tell the compiler to which "1" he should jump to.
9 years ago
Michael Haberler ac1c170b29 CK_PR_ACCESS: use __typeof__ instead of typeof
9 years ago
Olivier Houchard 1c3501a524 ck_pr/arm : Don't try to build the 64bits version of CAS for armv6 either.
9 years ago
Olivier Houchard 005c06f9e2 ck_pr/arm: There's no need to force the use of r4, r5 and r6 anymore, this should fix issue #50
9 years ago
Olivier Houchard b002ed5f11 ck_pr/arm: Don't use ldrexd/strexd if we're building for armv6.
9 years ago
Olivier Houchard b202a8224a ck_pr/arm: Rename ck_pr_[load|store]_64 to ck_pr_md_[load|store]_64, as it should have been done.
9 years ago
Samy Al Bahra 3971541783 ppc: lwsync is the right thing for WB-memory.
10 years ago
Samy Al Bahra a5b4ca9ffc ck_pr/ppc64: Use unsafe for ugly aliasing hack.
10 years ago
Samy Al Bahra 1537c8091d ck_pr: Introduce ck_pr_fence_lock and fence_unlock.
10 years ago
Samy Al Bahra 787cffe9c9 ck_pr/arm: store_load requires DMB.
10 years ago
Olivier Houchard 477b37b249 gcc/ck_pr: I made up my mind, ck_pr_stale() has to provide a compiler barrier.
10 years ago
Olivier Houchard a30c54f64a gcc/ck_pr: Revert previous commit
10 years ago
Olivier Houchard 6dc4d2664f gcc/ck_pr: ck_pr_stall() should act as a compiler barrier too.
10 years ago
Samy Al Bahra 63d6c00c3d gcc/ck_pr: GCC-backed primitives should serve as compiler barriers.
10 years ago
Olivier Houchard 780a573fb2 ck_pr: Rename ck_pr_[load|store]_ptr to ck_pr_md_[load|store]_ptr in the
10 years ago
Samy Al Bahra c217428f1b whitespace/gcc: Missed some files during EOF sweep.
10 years ago
Samy Al Bahra b8be614461 ck_cc: Add DECONST_PTR and RESTRICT.
10 years ago
John Wittrock 4ef225172e Make ck_pr_store_* and ck_pr_load_* a bit more type safe.
10 years ago