r263639 - in /branches/gcc-6-branch: gcc/Change...

danglin@gcc.gnu.org danglin@gcc.gnu.org
Fri Aug 17 23:00:00 GMT 2018


Author: danglin
Date: Fri Aug 17 23:00:34 2018
New Revision: 263639

URL: https://gcc.gnu.org/viewcvs?rev=263639&root=gcc&view=rev
Log:
	Backport from mainline
	2018-08-11  John David Anglin  <danglin@gcc.gnu.org>

	gcc
	* config/pa/pa.md (UNSPEC_MEMORY_BARRIER): New unspec enum.
	Update comment for atomic instructions.
	(atomic_storeqi, atomic_storehi, atomic_storesi, atomic_storesf,
	atomic_loaddf, atomic_loaddf_1, atomic_storedf, atomic_storedf_1):
	Remove.
	(atomic_loaddi): Revise fence expansion to only emit fence prior to
	load for __ATOMIC_SEQ_CST model.
	(atomic_loaddi_1): Remove float register target.
	(atomic_storedi): Handle CONST_INT values.
	(atomic_storedi_1): Remove float register source.  Add special case
	for zero value.
	(memory_barrier): New expander and insn.

	libgcc
	* config/pa/linux-atomic.c: Update comment.
	(FETCH_AND_OP_2, OP_AND_FETCH_2, FETCH_AND_OP_WORD, OP_AND_FETCH_WORD,
	COMPARE_AND_SWAP_2, __sync_val_compare_and_swap_4,
	SYNC_LOCK_TEST_AND_SET_2, __sync_lock_test_and_set_4): Use
	__ATOMIC_RELAXED for atomic loads.
	(SYNC_LOCK_RELEASE_1): New define.  Use __sync_synchronize() and
	unordered store to release lock.
	(__sync_lock_release_8): Likewise.
	(SYNC_LOCK_RELEASE_2): Remove define.
	 

Modified:
    branches/gcc-6-branch/gcc/ChangeLog
    branches/gcc-6-branch/gcc/config/pa/pa.md
    branches/gcc-6-branch/libgcc/ChangeLog
    branches/gcc-6-branch/libgcc/config/pa/linux-atomic.c



More information about the Gcc-cvs mailing list