gcc/ * builtins.c (fold_builtin_atomic_always_lock_free): Make "lock-free" conditional on existance of a fast atomic load. * optabs-query.c (can_atomic_load_p): New function. * optabs-query.h (can_atomic_load_p): Declare it. * optabs.c (expand_atomic_exchange): Always delegate to libatomic if no fast atomic load is available for the particular size of access. (expand_atomic_compare_and_swap): Likewise. (expand_atomic_load): Likewise. (expand_atomic_store): Likewise. (expand_atomic_fetch_op): Likewise. * testsuite/lib/target-supports.exp (check_effective_target_sync_int_128): Remove x86 because it provides no fast atomic load. (check_effective_target_sync_int_128_runtime): Likewise. libatomic/ * acinclude.m4: Add #define FAST_ATOMIC_LDST_*. * auto-config.h.in: Regenerate. * config/x86/host-config.h (FAST_ATOMIC_LDST_16): Define to 0. (atomic_compare_exchange_n): New. * glfree.c (EXACT, LARGER): Change condition and add comments. From-SVN: r245098
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| config | Loading commit data... | |
| testsuite | Loading commit data... | |
| .gitignore | Loading commit data... | |
| ChangeLog | Loading commit data... | |
| Makefile.am | Loading commit data... | |
| Makefile.in | Loading commit data... | |
| acinclude.m4 | Loading commit data... | |
| aclocal.m4 | Loading commit data... | |
| auto-config.h.in | Loading commit data... | |
| cas_n.c | Loading commit data... | |
| configure | Loading commit data... | |
| configure.ac | Loading commit data... | |
| configure.tgt | Loading commit data... | |
| exch_n.c | Loading commit data... | |
| fadd_n.c | Loading commit data... | |
| fand_n.c | Loading commit data... | |
| fence.c | Loading commit data... | |
| fenv.c | Loading commit data... | |
| fior_n.c | Loading commit data... | |
| flag.c | Loading commit data... | |
| fnand_n.c | Loading commit data... | |
| fop_n.c | Loading commit data... | |
| fsub_n.c | Loading commit data... | |
| fxor_n.c | Loading commit data... | |
| gcas.c | Loading commit data... | |
| gexch.c | Loading commit data... | |
| glfree.c | Loading commit data... | |
| gload.c | Loading commit data... | |
| gstore.c | Loading commit data... | |
| host-config.h | Loading commit data... | |
| init.c | Loading commit data... | |
| libatomic.map | Loading commit data... | |
| libatomic_i.h | Loading commit data... | |
| load_n.c | Loading commit data... | |
| store_n.c | Loading commit data... | |
| tas_n.c | Loading commit data... |