1
1
openmpi/opal/include
Brian Barrett 5602d3b9c2 atomics: Remove cmpset_64 on IA32
The recent changes to remove non-inline atomics have caused
a cascade of issues with cmpset_64 on IA32.  cmpxchg8 requires
the use of a bunch of registers (2 for every operand, 3 operands),
and one of them is ebx, which is used by the compiler to do
shared library things.  Some compilers don't deal well with
ebx being clobbered (I'm looking at you, gcc 4.1).  Rather than
continue trying to fight, remove cmpset_64 from the supported
atomic operations on IA32.  Other 32 bit platforms (MIPS32,
SPARC32, ARM, etc.) already don't support a 64 bit compare-and-
swap, so while this might slightly reduce performance, it will
at least be correct.

Signed-off-by: Brian Barrett <bbarrett@amazon.com>
2017-09-07 12:19:34 -07:00
..
opal atomics: Remove cmpset_64 on IA32 2017-09-07 12:19:34 -07:00
Makefile.am Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
opal_config_bottom.h configury: remove now obsolete reference to OPAL_PTRDIFF_TYPE 2017-04-19 13:42:45 +09:00
opal_config_top.h Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
opal_stdint.h opal: fix pragma for GCC 6 and later 2016-02-29 13:56:22 +09:00