From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:40092) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZTgdE-00046Y-6S for qemu-devel@nongnu.org; Sun, 23 Aug 2015 21:33:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZTgdA-0005Br-Pl for qemu-devel@nongnu.org; Sun, 23 Aug 2015 21:33:04 -0400 Received: from mx1.redhat.com ([209.132.183.28]:52064) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZTgdA-0005Bk-K9 for qemu-devel@nongnu.org; Sun, 23 Aug 2015 21:33:00 -0400 References: <1440375847-17603-1-git-send-email-cota@braap.org> <1440375847-17603-21-git-send-email-cota@braap.org> From: Paolo Bonzini Message-ID: <55DA7443.3030901@redhat.com> Date: Sun, 23 Aug 2015 18:32:51 -0700 MIME-Version: 1.0 In-Reply-To: <1440375847-17603-21-git-send-email-cota@braap.org> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [RFC 20/38] tcg/i386: implement fences List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Emilio G. Cota" , qemu-devel@nongnu.org, mttcg@greensocs.com Cc: guillaume.delbergue@greensocs.com, alex.bennee@linaro.org, mark.burton@greensocs.com, a.rigo@virtualopensystems.com, Frederic Konrad 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