1. 16 Apr, 2005 8 commits
  2. 15 Apr, 2005 30 commits
  3. 14 Apr, 2005 2 commits
    • ia64.h (enum fetchop_code): Remove. · af795c3c
              * config/ia64/ia64.h (enum fetchop_code): Remove.
              (enum ia64_builtins): Move ...
              * config/ia64/ia64.c (enum ia64_builtins): ... here.  Remove all
              members except BSP and FLUSHRS.
              (ia64_init_builtins): Remove __sync builtins.
              (ia64_expand_builtin): Likewise.
              (ia64_expand_fetch_and_op, ia64_expand_op_and_fetch): Remove.
              (ia64_expand_compare_and_swap, ia64_expand_lock_test_and_set): Remove.
              (ia64_expand_lock_release): Remove.
              * config/ia64/ia64.md (mf): Move to sync.md.
              (mf_internal, fetchadd_acq_si, fetchadd_acq_di, cmpxchg_acq_si,
              cmpxchg_acq_di, xchgsi, xchgdi): Likewise.
              * config/ia64/sync.md: New file.
              (memory_barrier): Rename from mf.
              (fetchadd_acq_<I48MODE>): Macroize from _si/_di patterns.
              (cmpxchg_acq_<I48MODE>): Likewise.
              (sync_lock_test_and_set<I48MODE>): Likewise.
      
              * config/ia64/ia64intrin.h: Define nothing for C; limit #defines
              to c++.  Remove __sync* declarations.  s/_si/_4/.  s/_di/_8/.
      
      From-SVN: r98156
      Richard Henderson committed
    • i386.c (x86_cmpxchg, x86_xadd): New. · 1ef45b77
              * config/i386/i386.c (x86_cmpxchg, x86_xadd): New.
              (ix86_compare_emitted): New.
              (ix86_expand_compare): Use ix86_compare_emitted if set.
              (ix86_expand_setcc): Only emit REG_EQUAL if both ix86_compare_op0
              and ix86_compare_op0 are set.
              * config/i386/i386.h (x86_cmpxchg, x86_xadd): Declare.
              (TARGET_CMPXCHG, TARGET_XADD): New.
              (ix86_compare_emitted): Declare.
              * config/i386/i386.md: Include sync.md
              (UNSPECV_CMPXCHG_1, UNSPECV_CMPXCHG_2): New.
              (UNSPECV_XCHG, UNSPECV_LOCK): New.
              * config/i386/sync.md: New file.
      
      From-SVN: r98155
      Richard Henderson committed