s390.md: ("UNSPECV_MB", "UNSPECV_CAS"): New constants.
authorAdrian Straetling <straetling@de.ibm.com>
Tue, 7 Jun 2005 16:35:27 +0000 (16:35 +0000)
committerUlrich Weigand <uweigand@gcc.gnu.org>
Tue, 7 Jun 2005 16:35:27 +0000 (16:35 +0000)
commite0374221d9a8296937d7943791de7267a9d7dafa
treebb3a25e110cedc41afc38795fab064c14523fc41
parentb6e7e9af0465df9134110217990127a47bc5f5c5
s390.md: ("UNSPECV_MB", "UNSPECV_CAS"): New constants.

2005-06-07  Adrian Straetling  <straetling@de.ibm.com>

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.

From-SVN: r100711
gcc/ChangeLog
gcc/config/s390/2064.md
gcc/config/s390/2084.md
gcc/config/s390/s390.c
gcc/config/s390/s390.h
gcc/config/s390/s390.md
libstdc++-v3/ChangeLog
libstdc++-v3/config/cpu/s390/atomicity.h