view memset.c @ 3335:af2a76fdba9c

CVS is still broken with gcc3. This fixes it. But please explain _why_ the 'volatile' attribute is needed with these variables and why is it supposed to protect them ?
author pl
date Wed, 05 Dec 2001 10:31:10 +0000
parents c442c6565922
children
line wrap: on
line source

#include "config.h"

#ifdef USE_FASTMEMSET
#if defined(HAVE_SSE) || defined(HAVE_SSE2)
/* (C) 2001 Csabai Csaba <csibi@diablo.ovinet.hu> */
inline void *fast_memset(void *ptr, long val, long num) 
{
    __asm__ __volatile__(
	"cmpxchg8 (%2)"
	: "=a" (val), "=d" (num)
	: "r" (ptr), "0" (val), "1" (num)
	:"memory");

    return(ptr);
}
#endif
#endif