• rth's avatar
    * config/i386/i386.c (x86_cmpxchg, x86_xadd): New. · 0f0a601a
    rth authored
            (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
    0f0a601a
i386.c 513 KB