version 1.10, 2007/12/20 01:27:25 |
version 1.11, 2007/12/20 23:46:11 |
Line 75 void sse2_lfence_end(void); |
|
Line 75 void sse2_lfence_end(void); |
|
void sse2_mfence(void); |
void sse2_mfence(void); |
void sse2_mfence_end(void); |
void sse2_mfence_end(void); |
|
|
void mb_read(void); |
|
void mb_read_end(void); |
|
void mb_memory(void); |
|
void mb_memory_end(void); |
|
void sse2_mb_read(void); |
|
void sse2_mb_read_end(void); |
|
void sse2_mb_memory(void); |
|
void sse2_mb_memory_end(void); |
|
|
|
void _atomic_cas_64(void); |
void _atomic_cas_64(void); |
void _atomic_cas_64_end(void); |
void _atomic_cas_64_end(void); |
void _atomic_cas_cx8(void); |
void _atomic_cas_cx8(void); |
|
|
} else if ((cpu_feature & CPUID_SSE2) != 0) { |
} else if ((cpu_feature & CPUID_SSE2) != 0) { |
/* Faster memory barriers. */ |
/* Faster memory barriers. */ |
patchfunc( |
patchfunc( |
sse2_mb_read, sse2_mb_read_end, |
|
mb_read, mb_read_end, |
|
NULL |
|
); |
|
patchfunc( |
|
sse2_mb_memory, sse2_mb_memory_end, |
|
mb_memory, mb_memory_end, |
|
NULL |
|
); |
|
patchfunc( |
|
sse2_lfence, sse2_lfence_end, |
sse2_lfence, sse2_lfence_end, |
membar_consumer, membar_consumer_end, |
membar_consumer, membar_consumer_end, |
NULL |
NULL |