gcc/gcc ChangeLog config/rs6000/rs6000.md conf ...

dje@gcc.gnu.org dje@gcc.gnu.org
Fri Jul 15 01:44:00 GMT 2005


CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	dje@gcc.gnu.org	2005-07-15 01:44:39

Modified files:
	gcc            : ChangeLog 
	gcc/config/rs6000: rs6000.md sync.md rs6000.c rs6000-protos.h 

Log message:
	* config/rs6000/rs6000.md (UNSPEC_SYNC, UNSPEC_LWSYNC,
	UNSPEC_ISYNC, UNSPEC_SYNC_OP, UNSPEC_ATOMIC, UNSPEC_CMPXCHG,
	UNSPEC_XCHG, UNSPEC_AND): New.
	(UNSPECV_ATOMIC, UNSPECV_SYNC, UNSPECV_SYNC_OP, UNSPECV_CMPXCHG,
	UNSPECV_LWSYNC, UNSPECV_ISYNC): Delete.
	* config/rs6000/sync.md (FETCHOP): New code macro.
	(fetchop_name, fetchop_pred, fetchopsi_constr, fetchopdi_constr):
	New code attrs.
	(memory_barrier, sync_internal): Use unspec instead of unspec_volatile.
	(sync_compare_and_swap<mode>): Same.
	(sync_lock_test_and_set<mode>): Same.
	(sync_<fetchop><mode>, sync_nand<mode>): Only use rs6000_emit_sync
	for QImode and HImode, and not PPC405.
	(sync_old_<fetchop><mode>, sync_old_nand<mode>): Same.
	(sync_new_<fetchop><mode>, sync_new_nand<mode>): Same.
	(sync_<fetchop>{si,di}_internal): New.
	(sync_nand{si,di}_internal): New.
	(sync_old_<fetchop>{si,di}_internal): New.
	(sync_old_nand{si,di}_internal): New
	(sync_new_<fetchop>{si,di}_internal): New.
	(sync_new_nand{si,di}_internal): New.
	(atomic_and{si,di}): New.
	(sync_new_nand{si,di}_internal): New.
	(atomic_and{si,di}): New.
	(sync_add<mode>_internal): Delete.
	(sync_addshort_internal): Use unspec instead of unspec_volatile.
	(sync_sub<mode>_internal): Delte.
	(sync_subshort_internal): New.
	(sync_andsi_internal): Use unspec instead of unspec_volatile.
	(sync_anddi_internal): Delete.
	(sync_boolsi_internal): Use unspec instead of unspec_volatile.
	(sync_booldi_internal): Delete.
	(sync_boolc<mode>_internal): Delete.
	(sync_boolcshort_internal): Use unspec instead of unspec_volatile.
	(sync_boolc<mode>_internal2): Delete.
	(sync_boolcc<mode>_internal): Delete.
	(isync, lwsync): Use unspec instead of unspec_volatile.
	* config/rs6000/rs6000.c (rs6000_emit_sync): Implement MINUS.
	Revert UNSPEC_VOLATILE.
	(rs6000_split_atomic_op): New.
	* config/rs6000/rs6000-protos.h (rs6000_split_atomic_op): Declare.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.9449&r2=2.9450
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/rs6000/rs6000.md.diff?cvsroot=gcc&r1=1.391&r2=1.392
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/rs6000/sync.md.diff?cvsroot=gcc&r1=1.4&r2=1.5
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/rs6000/rs6000.c.diff?cvsroot=gcc&r1=1.854&r2=1.855
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/rs6000/rs6000-protos.h.diff?cvsroot=gcc&r1=1.103&r2=1.104



More information about the Gcc-cvs mailing list