annotate 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 |
|
rev |
line source |
3092
|
1 #include "config.h"
|
|
2
|
|
3 #ifdef USE_FASTMEMSET
|
|
4 #if defined(HAVE_SSE) || defined(HAVE_SSE2)
|
|
5 /* (C) 2001 Csabai Csaba <csibi@diablo.ovinet.hu> */
|
|
6 inline void *fast_memset(void *ptr, long val, long num)
|
|
7 {
|
|
8 __asm__ __volatile__(
|
|
9 "cmpxchg8 (%2)"
|
|
10 : "=a" (val), "=d" (num)
|
|
11 : "r" (ptr), "0" (val), "1" (num)
|
|
12 :"memory");
|
|
13
|
|
14 return(ptr);
|
|
15 }
|
|
16 #endif
|
|
17 #endif
|