It seems like the accepted definition of acquire and release semantics is something like this: (Quoted from http://msdn.microsoft.com/en-us/library/windows/hardware/ff540496(v=vs.85).aspx)
An operation has acquire semantics if other processors will always see its effect before any subsequent operation's effect. An operation has release semantics if other processors will see every preceding operation's effect before the effect of the operation itself.
I have briefly read about existence of half memory barriers and supposedly they come in flavor of acquire barriers and release barriers following the same semantics described above.
Looking up real example of hardware instructions I came across SFENCE. And this blog (http://peeterjoot.wordpress.com/2009/12/04/intel-memory-ordering-fence-instructions-and-atomic-operations/) says that it is a form of release fence/barrier:
Intel provides a bidirectional fence instruction MFENCE, an acquire fence LFENCE, and a release fence SFENCE.
However reading the definition of SFENCE, it doesn't seem to provide release semantics in that it doesn't synchronize with loads at all? Whereas release semantics as I understand defines ordering with respect to all memory operations (loads & stores).