s390: Convert from sync to atomic optabs
[gcc.git] / gcc / ChangeLog
index 5896e0b7f11301c2a755d7ad539256864a723ca7..bdf47c73ad70ea5056230d75b07f219f16e01b79 100644 (file)
@@ -1,3 +1,37 @@
+2012-08-07  Richard Henderson  <rth@redhat.com>
+
+       * config/s390/s390.c (s390_emit_compare_and_swap): Update for
+       atomic_compare_and_swapsi_internal name change.
+       (s390_expand_insv): Try RISBG last, not requiring operands in
+       registers but forcing them there.  Try a limited form of ICM.
+       (s390_two_part_insv): New.
+       (s390_expand_cs_hqi): Use it.  Update for atomic optabs.
+       * config/s390/s390.md (UNSPEC_MOVA): New.
+       (TDSI): Remove mode iterator.
+       (DGPR, DINT, TDI): New mode iterators.
+       (td): New mode attribute.
+       (mem_signal_fence): New.
+       (mem_thread_fence): Rename from memory_barrier; update for model arg.
+       (mem_thread_fence_1): Rename from *memory_barrier.
+       (atomic_load<DINT>, atomic_store<DINT>): New expanders.
+       (atomic_loaddi_1, atomic_loadti_1): New.
+       (atomic_storedi_1, atomic_storeti_1): New.
+       (sync_compare_and_swap<TDSI>, sync_compare_and_swap<HQI>): Remove.
+       (atomic_compare_and_swap<DGPR>, atomic_compare_and_swap<HQI>): New.
+       (atomic_compare_and_swap<DGPR>_internal): New.
+       (*sync_compare_and_swap<DW>, *sync_compare_and_swap<GPR>): Remove.
+       (*atomic_compare_and_swap<TDI>_1): New.
+       (*atomic_compare_and_swapdi_2, *atomic_compare_and_swapsi_3): New.
+       (sync_<ATOMIC_Z196><GPR>, sync_old_<ATOMIC_Z196><GPR>): Remove.
+       (atomic_fetch_<ATOMIC_Z196><GPR>): New.
+       (atomic_fetch_<ATOMC_Z196><GPR>_iaf): New.
+       (sync_<ATOMIC><HQI>, sync_old_<ATOMIC><HQI>): Remove.
+       (sync_new_<ATOMIC><HQI>): Remove.
+       (atomic_<ATOMIC><HQI>, atomic_fetch_<ATOMIC><HQI>): New.
+       (atomic_<ATOMIC>_fetch<HQI>): New.
+       (sync_lock_test_and_set<HQI>): Remove.
+       (atomic_exchange<HQI>): New.
+
 2012-08-07  Paul Brook  <paul@codesourcery.com>
            Sandra Loosemore  <sandra@codesourcery.com>