Fix memory barrier support on icc on ia64, 2nd attempt.

Itanium doesn't have the mfence instruction - that's a 386 thing. Use the
"mf" instruction instead.

This reverts the previous commit to add "#include <emmintrinsic.h>"; the
problem was not with a missing #include.
This commit is contained in:
Heikki Linnakangas 2013-07-09 11:31:26 +03:00
parent 6052bceba5
commit e5592c61ad

View File

@ -53,8 +53,12 @@ extern slock_t dummy_spinlock;
/*
* icc defines __GNUC__, but doesn't support gcc's inline asm syntax
*/
#include <emmintrin.h>
#if defined(__ia64__) || defined(__ia64)
#define pg_memory_barrier() __mf()
#else if defined(__i386__) || defined(__x86_64__)
#define pg_memory_barrier() _mm_mfence()
#endif
#define pg_compiler_barrier() __memory_barrier()
#elif defined(__GNUC__)