From patchwork Fri Jan 4 14:18:52 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Avi Kivity X-Patchwork-Id: 1933131 Return-Path: X-Original-To: patchwork-kvm@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork2.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork2.kernel.org (Postfix) with ESMTP id 8CAA1E016D for ; Fri, 4 Jan 2013 14:19:23 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754900Ab3ADOTK (ORCPT ); Fri, 4 Jan 2013 09:19:10 -0500 Received: from mail-wg0-f41.google.com ([74.125.82.41]:61536 "EHLO mail-wg0-f41.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754844Ab3ADOTH (ORCPT ); Fri, 4 Jan 2013 09:19:07 -0500 Received: by mail-wg0-f41.google.com with SMTP id ds1so242256wgb.2 for ; Fri, 04 Jan 2013 06:19:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:from:to:cc:subject:date:message-id:x-mailer:in-reply-to :references; bh=Wn1S0gW9bY6s4HhFZZWfOAsZlQiiJQngBASIE+MDGyw=; b=rnY0bCCpEg/7od1B7Ci9tBrfNM+JJ44uLzILIyUoUwYqIeNNI0HLWMeG8Dt/Dxl5OR 1FLK0OYa88Y8j0uglDevJSIXkBQxdikkEWwYlXWu/7XTLYJCNMu50OpvzcWlnkQQf+yk 684EaM12KqzYMOPpWGB6haqsey6uwn1NuskfeKiLgzNp7C+DUvc1hdMbibllWOvC/K0j C7rTJHF+CryXSKMVCE6Kz2AhBf7Z/bHtuHismnIXrw01o86TGQWl8+9FV9t1N7Vej9Rk PWmgvnKdDRJSpXT+uq2dSNu5DhmNFgzO2IjTMlwLLMUA9nskR7bLmBDq3vrmtEqMmJ2k DYfw== X-Received: by 10.180.101.99 with SMTP id ff3mr82442467wib.21.1357309146372; Fri, 04 Jan 2013 06:19:06 -0800 (PST) Received: from localhost.localdomain (93-172-35-137.bb.netvision.net.il. [93.172.35.137]) by mx.google.com with ESMTPS id ex6sm90494596wid.3.2013.01.04.06.19.05 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 04 Jan 2013 06:19:05 -0800 (PST) From: Avi Kivity To: Marcelo Tosatti , Gleb Natapov Cc: kvm@vger.kernel.org Subject: [PATCH v3 5/7] KVM: x86 emulator: convert NOT, NEG to fastop Date: Fri, 4 Jan 2013 16:18:52 +0200 Message-Id: <1357309134-11944-6-git-send-email-avi.kivity@gmail.com> X-Mailer: git-send-email 1.8.0.1 In-Reply-To: <1357309134-11944-1-git-send-email-avi.kivity@gmail.com> References: <1357309134-11944-1-git-send-email-avi.kivity@gmail.com> Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org Signed-off-by: Avi Kivity --- arch/x86/kvm/emulate.c | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c index 2af0c44..09dbdc5 100644 --- a/arch/x86/kvm/emulate.c +++ b/arch/x86/kvm/emulate.c @@ -2050,17 +2050,8 @@ static int em_grp2(struct x86_emulate_ctxt *ctxt) return X86EMUL_CONTINUE; } -static int em_not(struct x86_emulate_ctxt *ctxt) -{ - ctxt->dst.val = ~ctxt->dst.val; - return X86EMUL_CONTINUE; -} - -static int em_neg(struct x86_emulate_ctxt *ctxt) -{ - emulate_1op(ctxt, "neg"); - return X86EMUL_CONTINUE; -} +FASTOP1(not); +FASTOP1(neg); static int em_mul_ex(struct x86_emulate_ctxt *ctxt) { @@ -3753,8 +3744,8 @@ static const struct opcode group1A[] = { static const struct opcode group3[] = { I(DstMem | SrcImm | NoWrite, em_test), I(DstMem | SrcImm | NoWrite, em_test), - I(DstMem | SrcNone | Lock, em_not), - I(DstMem | SrcNone | Lock, em_neg), + F(DstMem | SrcNone | Lock, em_not), + F(DstMem | SrcNone | Lock, em_neg), I(SrcMem, em_mul_ex), I(SrcMem, em_imul_ex), I(SrcMem, em_div_ex),