__INSN_BARRIER(3) NetBSD Library Functions Manual __INSN_BARRIER(3)
NAME
__insn_barrier -- compiler reorder barrier
SYNOPSIS
#include <sys/cdefs.h>
void
__insn_barrier();
DESCRIPTION
The __insn_barrier() macro prevents GCC from moving code across the bar-
rier. In other words, the compiler is not allowed to reorder read and
write commands below the barrier with the code preceding the barrier.
Like with the volatile type qualifier, __insn_barrier() may be necessary
in some corner cases to prevent the compiler from misoptimizing.
SEE ALSO
gcc(1), cdefs(3), mb(9)
Paul E. McKenney, Memory Barriers: a Hardware View for Software Hackers,
June 7, 2010.
HISTORY
The __insn_barrier() macro first appeared in NetBSD 2.0.
NetBSD 5.0 January 2, 2011 NetBSD 5.0