macros: __sync_synchronize() was actually added in 4.1.
macros: check for gcc 4.1, use mfence on x86, "sync":::"memory" on others.