• uweigand's avatar
    2005-06-07 Adrian Straetling <straetling@de.ibm.com> · 891e3096
    uweigand authored
    gcc/ChangeLog:
    	* config/s390/s390.md: ("UNSPECV_MB", "UNSPECV_CAS"): New constants.
    	("type"): Add "sem" to 'type' attribute.
    	("memory_barrier", "*memory_barrier", "sync_compare_and_swapdi",
    	"sync_compare_and_swapsi", "sync_compare_and_swap_ccdi",
    	"sync_compare_and_swap_ccsi", "*sync_compare_and_swap_ccdi",
    	"*sync_compare_and_swap_ccsi"): New patterns.
    	* config/s390/2064.md: ("z_sem"): New insn_reservation.
    	* config/s390/2084.md: ("x_sem"): New insn_reservation.
    	* config/s390/s390.c: (s390_compare_emitted): New global variable.
    	(s390_emit_compare): Do not emit comparison again after cas.
    	* config/s390/s390.h (s390_compare_emitted): Declare.
    
    libstdc++/ChangeLog:
    	* config/cpu/s390/atomicity.h: (__exchange_and_add,
    	__atomic_add): Use the builtins for atomic memory operations.
    
    
    git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100711 138bc75d-0d04-0410-961f-82ee72b054a4
    891e3096
s390.c 223 KB