From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:56755) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XWBxj-0008S6-3u for qemu-devel@nongnu.org; Mon, 22 Sep 2014 18:20:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XWBxZ-0000ad-VM for qemu-devel@nongnu.org; Mon, 22 Sep 2014 18:20:03 -0400 Received: from mail-qg0-x232.google.com ([2607:f8b0:400d:c04::232]:58721) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XWBxZ-0000Zi-Q5 for qemu-devel@nongnu.org; Mon, 22 Sep 2014 18:19:53 -0400 Received: by mail-qg0-f50.google.com with SMTP id q107so3564839qgd.23 for ; Mon, 22 Sep 2014 15:19:48 -0700 (PDT) Sender: Paolo Bonzini Message-ID: <5420A07E.9080600@redhat.com> Date: Tue, 23 Sep 2014 00:19:42 +0200 From: Paolo Bonzini MIME-Version: 1.0 References: <1411419461-24390-1-git-send-email-rth@twiddle.net> <1411419461-24390-8-git-send-email-rth@twiddle.net> In-Reply-To: <1411419461-24390-8-git-send-email-rth@twiddle.net> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PULL 07/11] tcg: Compress TCGLabelQemuLdst List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Richard Henderson , qemu-devel@nongnu.org Cc: peter.maydell@linaro.org Il 22/09/2014 22:57, Richard Henderson ha scritto: > +QEMU_BUILD_BUG_ON(TCG_TARGET_NB_REGS > 32); > +QEMU_BUILD_BUG_ON(NB_MMU_MODES > 8); > + > typedef struct TCGLabelQemuLdst { > - bool is_ld:1; /* qemu_ld: true, qemu_st: false */ > - TCGMemOp opc:4; > - TCGReg addrlo_reg; /* reg index for low word of guest virtual addr */ > - TCGReg addrhi_reg; /* reg index for high word of guest virtual addr */ > - TCGReg datalo_reg; /* reg index for low word to be loaded or stored */ > - TCGReg datahi_reg; /* reg index for high word to be loaded or stored */ > - int mem_index; /* soft MMU memory index */ > + TCGMemOp opc : 4; > + bool is_ld : 1; /* qemu_ld: true, qemu_st: false */ > + TCGReg addrlo_reg : 5; /* reg index for low word of guest virtual addr */ > + TCGReg addrhi_reg : 5; /* reg index for high word of guest virtual addr */ > + TCGReg datalo_reg : 5; /* reg index for low word to be loaded or stored */ > + TCGReg datahi_reg : 5; /* reg index for high word to be loaded or stored */ > + unsigned mem_index : 3; /* soft MMU memory index */ > + /* 4 bits unused in 32-bit word */ Why? Are there more than 10 or so loads in the typical tb? Paolo