-
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-82ee72b054a40f0a601a