From patchwork Wed May 4 21:21:01 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Vivier X-Patchwork-Id: 9018901 Return-Path: X-Original-To: patchwork-qemu-devel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 60B0B9F39D for ; Wed, 4 May 2016 21:24:27 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 6B0BD203B5 for ; Wed, 4 May 2016 21:24:26 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id C2B672037C for ; Wed, 4 May 2016 21:24:25 +0000 (UTC) Received: from localhost ([::1]:50366 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ay4HN-0004aV-Pa for patchwork-qemu-devel@patchwork.kernel.org; Wed, 04 May 2016 17:24:21 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51203) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ay4F1-0000MC-2r for qemu-devel@nongnu.org; Wed, 04 May 2016 17:22:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ay4Ep-0006PR-FV for qemu-devel@nongnu.org; Wed, 04 May 2016 17:21:49 -0400 Received: from mout.kundenserver.de ([217.72.192.73]:58848) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ay4Ep-0006IR-6p for qemu-devel@nongnu.org; Wed, 04 May 2016 17:21:43 -0400 Received: from Quad.localdomain ([78.238.229.36]) by mrelayeu.kundenserver.de (mreue104) with ESMTPSA (Nemesis) id 0M3SWO-1bovpy2uOW-00r1cE; Wed, 04 May 2016 23:21:30 +0200 From: Laurent Vivier To: qemu-devel@nongnu.org Date: Wed, 4 May 2016 23:21:01 +0200 Message-Id: <1462396869-22424-5-git-send-email-laurent@vivier.eu> X-Mailer: git-send-email 2.5.5 In-Reply-To: <1462396869-22424-1-git-send-email-laurent@vivier.eu> References: <1462392752-17703-1-git-send-email-laurent@vivier.eu> <1462396869-22424-1-git-send-email-laurent@vivier.eu> X-Provags-ID: V03:K0:95Svoupzza1DgD9FSUlpVIF/q+SEImrUKb7dgst/ah/j02fXiWY XowsYuxTVclYqEynlMYYYZynYieUgepfC529YhKZIshmkQB+WJk/BfUMDKTJqPguzVq68LJ 9wvVxYesTUrtBZFuP6jFKtLQVnyiJosKCIsHjQZiDnFDSWzbMM9DbYiYWG86gFK6s5ao2bL NXmAzBXvJhK6EMeOzkTTw== X-UI-Out-Filterresults: notjunk:1; V01:K0:YlAytLgmm2c=:2jxAwkhJr/cVFOFKgltEzD 53d/5AVgAPhZzmSTE86VL8FVzRrYgQYJZVSUCDJgnLmm2FzcqOMBcvONDTV01H0MTSfcXIAc4 1cGF0ZAccAI1imEj6dWkrBOB8BeB/8lX/9Y54qbZG6rloYcIkqGDDiZQUkQw0lP97qv7IKI1+ FCuvfg3I4xsbR6IAXakh2SRaXYFbpgYIypqH34o0sU4HVPbfCfUglL5BmqANuYB7n77WjRPtW LPXnBzdbhSjpiGW4QF3Krmh3yqcQQDILFUczehjkXJPofOoiijPT3SNRejS0DMQLetyUIO9ka k/CAtgHG/M2W0zZiMoQHkyEnwb1boSy2/5Py7Msgr263VkBvS1K8/YsJv+0XZ9mJlD4vRqKZp GXmIxM87YK4K3AmIKqme30xUkm6GSn90MkGyt+UXuZcJxRqlep41nrQyJK4Aab70kyfLcczLG aoBlTozIXs/2T4QTbcl8PmYk60CTFqWH+HbA4lcfCvxk1cWuxGJVijEwvq69t0N1if0DmEtGG hZHZ/0NC3w7E9D7m1e436ml3rni1tuB2kHai15Lk6BdBxKLEEPWnp+zSq7cbc5fafYtAxU/Cq UNFh/ZP4BQncnIjh6ovVp56fj7ICUErjWPwvbjNNiGSwW9cHiHYRNteHWbwe2FFFwI2KeRwWC 1SHzcxcQy1vf52+CzMEgbcKdsJAgdwPP5CpzR+EhgCS1zD2TuOyBUupIuioCDUNnGs0M= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 217.72.192.73 Subject: [Qemu-devel] [PATCH 44/52] target-m68k: and can manage word and byte operands X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Laurent Vivier , gerg@uclinux.org, schwab@linux-m68k.org, agraf@suse.de, rth@twiddle.net Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Signed-off-by: Laurent Vivier Reviewed-by: Richard Henderson --- target-m68k/translate.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/target-m68k/translate.c b/target-m68k/translate.c index 15109ed..9fed334 100644 --- a/target-m68k/translate.c +++ b/target-m68k/translate.c @@ -2775,19 +2775,23 @@ DISAS_INSN(and) TCGv reg; TCGv dest; TCGv addr; + int opsize; - reg = DREG(insn, 9); dest = tcg_temp_new(); + + opsize = insn_opsize(insn); + reg = DREG(insn, 9); if (insn & 0x100) { - SRC_EA(env, src, OS_LONG, 0, &addr); + SRC_EA(env, src, opsize, 0, &addr); tcg_gen_and_i32(dest, src, reg); - DEST_EA(env, insn, OS_LONG, dest, &addr); + DEST_EA(env, insn, opsize, dest, &addr); } else { - SRC_EA(env, src, OS_LONG, 0, NULL); + SRC_EA(env, src, opsize, 0, NULL); tcg_gen_and_i32(dest, src, reg); - tcg_gen_mov_i32(reg, dest); + gen_partset_reg(opsize, reg, dest); } - gen_logic_cc(s, dest, OS_LONG); + tcg_temp_free(dest); + gen_logic_cc(s, dest, opsize); } DISAS_INSN(adda)