From patchwork Fri Apr 5 18:47:33 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 234248 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id A06E92C00E7 for ; Sat, 6 Apr 2013 05:50:18 +1100 (EST) Received: from localhost ([::1]:55436 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UOBiK-00084f-T7 for incoming@patchwork.ozlabs.org; Fri, 05 Apr 2013 14:50:16 -0400 Received: from eggs.gnu.org ([208.118.235.92]:51448) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UOBgZ-0005AB-W1 for qemu-devel@nongnu.org; Fri, 05 Apr 2013 14:48:34 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UOBgT-0003q6-Ea for qemu-devel@nongnu.org; Fri, 05 Apr 2013 14:48:27 -0400 Received: from mail-qc0-x22e.google.com ([2607:f8b0:400d:c01::22e]:52804) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UOBgT-0003q2-B2 for qemu-devel@nongnu.org; Fri, 05 Apr 2013 14:48:21 -0400 Received: by mail-qc0-f174.google.com with SMTP id z24so1022547qcq.5 for ; Fri, 05 Apr 2013 11:48:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:sender:from:to:cc:subject:date:message-id:x-mailer :in-reply-to:references; bh=jXTg3JhWnVEtbC0RSEdPEk7lVXp0MzOTPUCuYVaEerc=; b=jIRLC214Xqut7k7f86LKCMkEPMuP0b0cxshCs+BrGrvK7JrDlK3IU8D2An/OXMiJci K7H16dL8SNpUF+3mqIHIS4qg3stfS3Z6jYiR3+MvB3MfjGUsKxZJ3L7y3sD8GXM6ER+t O74E8KlstWjkTKaUP3WqYRsa+NYstWQWdNxEZRHRVGiuLlF/W2AMCqsKr7y9RCB9hx1q aK3LfPo3eYTejNJjuJOaKlHu4KEwa+fAbKX4AYoXmp9PETM5vwNcGnAeK8PgTH8vGeDl HiA77qCYqKH/3qAncZiPike1yq1weSss6r6JyOGHTaqK5y1yIo6EdHmYrnwde1hNpo7R xgEA== X-Received: by 10.49.61.226 with SMTP id t2mr10793916qer.40.1365187700972; Fri, 05 Apr 2013 11:48:20 -0700 (PDT) Received: from pebble.com (107-1-53-7-ip-static.hfc.comcastbusiness.net. [107.1.53.7]) by mx.google.com with ESMTPS id k8sm14592771qej.2.2013.04.05.11.48.19 (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Fri, 05 Apr 2013 11:48:20 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Fri, 5 Apr 2013 13:47:33 -0500 Message-Id: <1365187661-17023-6-git-send-email-rth@twiddle.net> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1365187661-17023-1-git-send-email-rth@twiddle.net> References: <1365187661-17023-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:400d:c01::22e Cc: aliguori@us.ibm.com, aurelien@aurel32.net Subject: [Qemu-devel] [PULL v2 05/13] tcg-s390: Implement mulu2_i64 opcode 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 Signed-off-by: Richard Henderson --- tcg/s390/tcg-target.c | 5 +++++ tcg/s390/tcg-target.h | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/tcg/s390/tcg-target.c b/tcg/s390/tcg-target.c index b007763..81e2f6a 100644 --- a/tcg/s390/tcg-target.c +++ b/tcg/s390/tcg-target.c @@ -147,6 +147,7 @@ typedef enum S390Opcode { RRE_LRVR = 0xb91f, RRE_LRVGR = 0xb90f, RRE_LTGR = 0xb902, + RRE_MLGR = 0xb986, RRE_MSGR = 0xb90c, RRE_MSR = 0xb252, RRE_NGR = 0xb980, @@ -1981,6 +1982,9 @@ static inline void tcg_out_op(TCGContext *s, TCGOpcode opc, case INDEX_op_divu2_i64: tcg_out_insn(s, RRE, DLGR, TCG_REG_R2, args[4]); break; + case INDEX_op_mulu2_i64: + tcg_out_insn(s, RRE, MLGR, TCG_REG_R2, args[3]); + break; case INDEX_op_shl_i64: op = RSY_SLLG; @@ -2156,6 +2160,7 @@ static const TCGTargetOpDef s390_op_defs[] = { { INDEX_op_div2_i64, { "b", "a", "0", "1", "r" } }, { INDEX_op_divu2_i64, { "b", "a", "0", "1", "r" } }, + { INDEX_op_mulu2_i64, { "b", "a", "0", "r" } }, { INDEX_op_and_i64, { "r", "0", "rA" } }, { INDEX_op_or_i64, { "r", "0", "rO" } }, diff --git a/tcg/s390/tcg-target.h b/tcg/s390/tcg-target.h index da726bd..c0cb714 100644 --- a/tcg/s390/tcg-target.h +++ b/tcg/s390/tcg-target.h @@ -92,7 +92,7 @@ typedef enum TCGReg { #define TCG_TARGET_HAS_movcond_i64 0 #define TCG_TARGET_HAS_add2_i64 1 #define TCG_TARGET_HAS_sub2_i64 1 -#define TCG_TARGET_HAS_mulu2_i64 0 +#define TCG_TARGET_HAS_mulu2_i64 1 #define TCG_TARGET_HAS_muls2_i64 0 /* used for function call generation */