File tree 1 file changed +8
-3
lines changed
1 file changed +8
-3
lines changed Original file line number Diff line number Diff line change 81
81
* * pg_atomic_compare_exchange_u32(), pg_atomic_fetch_add_u32()
82
82
* using compiler intrinsics are a good idea.
83
83
*/
84
+ /*
85
+ * Given a gcc-compatible xlc compiler, prefer the xlc implementation. The
86
+ * ppc64le "IBM XL C/C++ for Linux, V13.1.2" implements both interfaces, but
87
+ * __sync_lock_test_and_set() of one-byte types elicits SIGSEGV.
88
+ */
89
+ #if defined(__IBMC__ ) || defined(__IBMCPP__ )
90
+ #include "port/atomics/generic-xlc.h"
84
91
/* gcc or compatible, including clang and icc */
85
- #if defined(__GNUC__ ) || defined(__INTEL_COMPILER )
92
+ #elif defined(__GNUC__ ) || defined(__INTEL_COMPILER )
86
93
#include "port/atomics/generic-gcc.h"
87
94
#elif defined(WIN32_ONLY_COMPILER )
88
95
#include "port/atomics/generic-msvc.h"
89
96
#elif defined(__hpux ) && defined(__ia64 ) && !defined(__GNUC__ )
90
97
#include "port/atomics/generic-acc.h"
91
98
#elif defined(__SUNPRO_C ) && !defined(__GNUC__ )
92
99
#include "port/atomics/generic-sunpro.h"
93
- #elif (defined(__IBMC__ ) || defined(__IBMCPP__ )) && !defined(__GNUC__ )
94
- #include "port/atomics/generic-xlc.h"
95
100
#else
96
101
/*
97
102
* Unsupported compiler, we'll likely use slower fallbacks... At least
You can’t perform that action at this time.
0 commit comments