* config/i386/i386.c (x86_cmpxchg, x86_xadd): New.
commit0f0a601a50d33233a9e8aa1647859381f52c8355
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 14 Apr 2005 23:42:50 +0000 (14 23:42 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 14 Apr 2005 23:42:50 +0000 (14 23:42 +0000)
tree4e525ea00c5d64969cf58aac3b3103b4bb6779d2
parentb6a5fc458e6f8824f5c43180b872141416496e00
    * 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@98155 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/i386/i386.c
gcc/config/i386/i386.h
gcc/config/i386/i386.md
gcc/config/i386/sync.md [new file with mode: 0644]