From: Takashi Iwai Date: Thu, 20 Jun 2002 14:55:05 +0000 (+0000) Subject: support for x86-64. X-Git-Tag: v1.0.3~414 X-Git-Url: https://git.alsa-project.org/?a=commitdiff_plain;h=b20beb55f7ad2d4b2904c2e82ceeabe3b504636f;p=alsa-lib.git support for x86-64. --- diff --git a/include/iatomic.h b/include/iatomic.h index 5888d613..b7dd1f69 100644 --- a/include/iatomic.h +++ b/include/iatomic.h @@ -1,7 +1,7 @@ #ifndef __ALSA_IATOMIC_H #define __ALSA_IATOMIC_H -#ifdef __i386__ +#if defined(__i386__) || defined(__x86_64__) /* * Atomic operations that C can't guarantee us. Useful for @@ -206,9 +206,15 @@ __asm__ __volatile__(LOCK "orl %0,%1" \ * and add some real memory barriers if so. */ +#ifdef __i386__ #define mb() __asm__ __volatile__ ("lock; addl $0,0(%%esp)": : :"memory") #define rmb() mb() #define wmb() __asm__ __volatile__ ("": : :"memory") +#else +#define mb() asm volatile("mfence":::"memory") +#define rmb() asm volatile("lfence":::"memory") +#define wmb() asm volatile("sfence":::"memory") +#endif #define IATOMIC_DEFINED 1