> We probably want to do some nop'ish thing here which will yield the > cpu thread on Niagara cpus, I'd recommend something along the lines of > "rd %ccr, %g0" or "rd %y, %g0"
libgomp has its own idea about cpu_relax: static inline void cpu_relax (void) { #if defined __arch64__ || defined __sparc_v9__ __asm volatile ("membar #LoadLoad" : : : "memory"); #else __asm volatile ("" : : : "memory"); #endif } Maybe we can come up with a single implementation for libgomp and libitm? And defined(__sparc_v9__) doesn't work on Solaris so we should drop the condition altogether in libgomp. -- Eric Botcazou