On 23/08/2015 17:23, Emilio G. Cota wrote: > + case INDEX_op_fence_load: > + tcg_out_fence(s, 0xe8); > + break; > + case INDEX_op_fence_full: > + tcg_out_fence(s, 0xf0); > + break; > + case INDEX_op_fence_store: > + tcg_out_fence(s, 0xf8); > + break; > +
lfence and sfence are not needed in generated code; all loads are acquires and all stores are release on x86. Also, on targets that do not have MFENCE you want to generate something like "lock addl $0, (%esp)". Paolo