From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paolo Bonzini Subject: Re: [PATCH 0/8] Simplify byte/word opcode pair decode Date: Mon, 23 Aug 2010 15:29:18 +0200 Message-ID: <4C7277AE.3040102@redhat.com> References: <1282561577-24491-1-git-send-email-avi@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: kvm@vger.kernel.org To: Avi Kivity Return-path: Received: from mail-qw0-f46.google.com ([209.85.216.46]:46763 "EHLO mail-qw0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753124Ab0HWN3X (ORCPT ); Mon, 23 Aug 2010 09:29:23 -0400 Received: by qwh6 with SMTP id 6so5078282qwh.19 for ; Mon, 23 Aug 2010 06:29:22 -0700 (PDT) In-Reply-To: <1282561577-24491-1-git-send-email-avi@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On 08/23/2010 01:06 PM, Avi Kivity wrote: > Many x86 instructions come in pairs - byte and word variants where bit 0 > of the opcode determines operand size. Use this to simplify the decode > tables. Many actually come in quadruples, bit 0 is the size and bit 1 says which of ModRM and REG is the destination. example: D2bv(DstMem | SrcReg | ModRM | Lock), D2bv(DstReg | SrcMem | ModRM), Paolo