From patchwork Sat Sep 14 21:54:45 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 274965 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 121732C0159 for ; Sun, 15 Sep 2013 08:02:39 +1000 (EST) Received: from localhost ([::1]:54721 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VKxvI-0003rR-5k for incoming@patchwork.ozlabs.org; Sat, 14 Sep 2013 18:02:36 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:34800) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VKxod-0001vC-1F for qemu-devel@nongnu.org; Sat, 14 Sep 2013 17:55:48 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VKxoX-0004Au-5Z for qemu-devel@nongnu.org; Sat, 14 Sep 2013 17:55:42 -0400 Received: from mail-pa0-x234.google.com ([2607:f8b0:400e:c03::234]:44157) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VKxoW-0004Ao-V2 for qemu-devel@nongnu.org; Sat, 14 Sep 2013 17:55:37 -0400 Received: by mail-pa0-f52.google.com with SMTP id kq13so3868069pab.25 for ; Sat, 14 Sep 2013 14:55:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=ja0YJ+4c6YO/QxyyjhM1+sxFonGClU6532yARM1Stjg=; b=bSiE7ZKFN5IpmmbBmZ8i2QRz3nKLvHppeYFrUUkaS20+PWOpPDYdiCUemP49UHESh/ 9uURS10fD8hAmgnInT8p9mhRIzSFCtbtD39EjGVLCZF+3tU+irxd3DEWfYtmf9csttjl vlhQIaMClSlYSPpXk55DC4e9Dq68jnLNTtkleJXMCeTVw0taUFH6dF+m4AmPojo9TL/A s0v+hyvC+juRv0TKSydlHs56VDcEY5W+QrfIv2RBCdDrL6gTBdAVeOFh56s8eHqV7dF+ KzfpBKVWKVaYtNlEzLjJsqqBaeZgzxqmyURJSMDDfhctIydqnu5S2peC5E91y/5MXQXU nTFw== X-Received: by 10.68.98.36 with SMTP id ef4mr20797074pbb.27.1379195736064; Sat, 14 Sep 2013 14:55:36 -0700 (PDT) Received: from pebble.twiddle.net (50-194-63-110-static.hfc.comcastbusiness.net. [50.194.63.110]) by mx.google.com with ESMTPSA id gg10sm20458962pbc.46.1969.12.31.16.00.00 (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Sat, 14 Sep 2013 14:55:35 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Sat, 14 Sep 2013 14:54:45 -0700 Message-Id: <1379195690-6509-29-git-send-email-rth@twiddle.net> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1379195690-6509-1-git-send-email-rth@twiddle.net> References: <1379195690-6509-1-git-send-email-rth@twiddle.net> X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2607:f8b0:400e:c03::234 Cc: peter.maydell@linaro.org, claudio.fontana@gmail.com Subject: [Qemu-devel] [PATCH v4 28/33] tcg-aarch64: Use tcg_out_call for qemu_ld/st X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org In some cases, a direct branch will be in range. Signed-off-by: Richard Henderson --- tcg/aarch64/tcg-target.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/tcg/aarch64/tcg-target.c b/tcg/aarch64/tcg-target.c index ce3c17b..3d1108c 100644 --- a/tcg/aarch64/tcg-target.c +++ b/tcg/aarch64/tcg-target.c @@ -1074,9 +1074,7 @@ static void tcg_out_qemu_ld_slow_path(TCGContext *s, TCGLabelQemuLdst *lb) tcg_out_movi(s, TCG_TYPE_I32, TCG_REG_X2, lb->mem_index); tcg_out_adr(s, TCG_REG_X3, (uintptr_t)lb->raddr); - tcg_out_movi(s, TCG_TYPE_I64, TCG_REG_TMP, - (tcg_target_long)qemu_ld_helpers[lb->opc & 3]); - tcg_out_callr(s, TCG_REG_TMP); + tcg_out_call(s, (tcg_target_long)qemu_ld_helpers[lb->opc & 3]); if (lb->opc & 0x04) { tcg_out_sxt(s, 1, lb->opc & 3, lb->datalo_reg, TCG_REG_X0); @@ -1097,9 +1095,7 @@ static void tcg_out_qemu_st_slow_path(TCGContext *s, TCGLabelQemuLdst *lb) tcg_out_movi(s, TCG_TYPE_I32, TCG_REG_X3, lb->mem_index); tcg_out_adr(s, TCG_REG_X4, (uintptr_t)lb->raddr); - tcg_out_movi(s, TCG_TYPE_I64, TCG_REG_TMP, - (tcg_target_long)qemu_st_helpers[lb->opc & 3]); - tcg_out_callr(s, TCG_REG_TMP); + tcg_out_call(s, (tcg_target_long)qemu_st_helpers[lb->opc & 3]); tcg_out_goto(s, (tcg_target_long)lb->raddr); }