Remove sunc/x86_64.h to eliminate sunc/x86.h code duplication
authorIvan Maidanski <ivmai@mail.ru>
Tue, 18 Sep 2012 17:55:36 +0000 (21:55 +0400)
committerIvan Maidanski <ivmai@mail.ru>
Tue, 25 Sep 2012 13:45:39 +0000 (17:45 +0400)
commitfd90859e92fe72d4760be0b499423b7ed96a5f97
treec1fc45f982440a64572edfd11564bfbe1da1c871
parentc6b2db422646f9a653d067a181cc8994914e608f
Remove sunc/x86_64.h to eliminate sunc/x86.h code duplication

* src/Makefile.am (nobase_private_HEADERS): Remove reference to
sunc/x86_64.h.
* src/atomic_ops.h: Include sunc/x86.h both for x86 and x86_64 (if
__sun defined but not GCC).
* src/atomic_ops/sysdeps/sunc/x86.h (AO_USE_PENTIUM4_INSTRS):
Explicitly define for x86_64 chips.
* src/atomic_ops/sysdeps/sunc/x86.h (AO_fetch_and_add_full,
AO_and_full, AO_or_full, AO_xor_full, AO_compare_and_swap_full,
AO_fetch_compare_and_swap_full): Remove "l" suffix (the size is
properly determined by operands).
* src/atomic_ops/sysdeps/sunc/x86.h
(AO_compare_double_and_swap_double_full): Use cmpxchg8b instruction
only in 32-bit mode (if __i386 defined) if avaialble, otherwise use
either cmpxchg16b (if AO_CMPXCHG16B_AVAILABLE) or emulation (if
AO_WEAK_DOUBLE_CAS_EMULATION).
* src/atomic_ops/sysdeps/sunc/x86.h (AO_T_IS_INT): Define only for
32-bit mode.
* src/atomic_ops/sysdeps/sunc/x86.h (AO_int_fetch_and_add_full,
AO_HAVE_int_fetch_and_add_full): Move definition from sunc/x86_64.h;
define only for 64-bit mode.
* src/atomic_ops/sysdeps/sunc/x86_64.h: Delete this file.
src/Makefile.am
src/atomic_ops.h
src/atomic_ops/sysdeps/sunc/x86.h
src/atomic_ops/sysdeps/sunc/x86_64.h [deleted file]