From nobody Tue Apr 30 13:56:58 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1600770924; cv=none; d=zohomail.com; s=zohoarc; b=dB6U9ZCd0R8vO/b3Vsry/olVcMnzosEQi8aevpy+Hc7uW6ZQ6bjz2la/XJV/wv9QEuN7ZB5763aMFPd3cKlB6yVd2pXrWcplMcGNTq4rWxa0+BMrSVUrX/qERO53PBmXSjargmBQy0YQR6fOAls9sRE3UoKvJtB7kNkXzGD7JF8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1600770924; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=BQAGV9ayirlKdWkaYYSjsWdomo5x3/ZQbSVsmd/e4Ug=; b=W0MFBRaDm467l7QN/z/lga4VKty9Avl74foPtl/BfF54BG0MgYs1SxAd0Q542EufkTDyA8YcNhr6XSRJJXqcyITLTJTjU5oqgX9iGesMDMuqXOvctJzZ8U8f2wlquPwXK+fYnVnQNkwATGwP/anQYmBOBVsPHnQ9RDRkcJGZZsE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1600770924607257.5659040402568; Tue, 22 Sep 2020 03:35:24 -0700 (PDT) Received: from localhost ([::1]:57178 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kKfdr-00008R-Cu for importer@patchew.org; Tue, 22 Sep 2020 06:35:23 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:54288) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kKfaK-00040g-9H for qemu-devel@nongnu.org; Tue, 22 Sep 2020 06:31:44 -0400 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:39847) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kKfaI-0006Qo-ML for qemu-devel@nongnu.org; Tue, 22 Sep 2020 06:31:43 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-572-DSGADImUMVS7qc4wrRCN-w-1; Tue, 22 Sep 2020 06:31:37 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id C9FD48015F5; Tue, 22 Sep 2020 10:31:36 +0000 (UTC) Received: from t480s.redhat.com (ovpn-113-20.ams2.redhat.com [10.36.113.20]) by smtp.corp.redhat.com (Postfix) with ESMTP id 679BB19C4F; Tue, 22 Sep 2020 10:31:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1600770702; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=BQAGV9ayirlKdWkaYYSjsWdomo5x3/ZQbSVsmd/e4Ug=; b=biqL+Fg+DjYyiR2/ghlYgpTfZyR/SSx/4BaM1961LHc2/0Vqjq4fLuZaPhpfGvJa8gpsmS vJlYqXiCMknGOChvB5anSjItzdmTtZmQtdWLynxQpes6zr5KdgadxHvV9rgVBtQdmdxj03 pBY2lmpJU4UbmaDab8FgdXSaeJux6Qc= X-MC-Unique: DSGADImUMVS7qc4wrRCN-w-1 From: David Hildenbrand To: qemu-devel@nongnu.org Subject: [PATCH v1 1/8] s390x/tcg: Implement ADD HALFWORD (AGH) Date: Tue, 22 Sep 2020 12:31:22 +0200 Message-Id: <20200922103129.12824-2-david@redhat.com> In-Reply-To: <20200922103129.12824-1-david@redhat.com> References: <20200922103129.12824-1-david@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=david@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=david@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/09/22 02:07:04 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -35 X-Spam_score: -3.6 X-Spam_bar: --- X-Spam_report: (-3.6 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1.455, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: qemu-s390x@nongnu.org, Cornelia Huck , Richard Henderson , Thomas Huth , David Hildenbrand Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Easy, just like ADD HALFWORD IMMEDIATE (AGHI). Signed-off-by: David Hildenbrand Reviewed-by: Richard Henderson Reviewed-by: Thomas Huth --- target/s390x/insn-data.def | 1 + target/s390x/translate.c | 1 + 2 files changed, 2 insertions(+) diff --git a/target/s390x/insn-data.def b/target/s390x/insn-data.def index d79ae9e3f1..8dbeaf8c49 100644 --- a/target/s390x/insn-data.def +++ b/target/s390x/insn-data.def @@ -52,6 +52,7 @@ /* ADD HALFWORD */ C(0x4a00, AH, RX_a, Z, r1, m2_16s, new, r1_32, add, adds32) C(0xe37a, AHY, RXY_a, LD, r1, m2_16s, new, r1_32, add, adds32) + C(0xe338, AGH, RXY_a, MIE2,r1, m2_16s, r1, 0, add, adds64) /* ADD HALFWORD IMMEDIATE */ C(0xa70a, AHI, RI_a, Z, r1, i2, new, r1_32, add, adds32) C(0xa70b, AGHI, RI_a, Z, r1, i2, r1, 0, add, adds64) diff --git a/target/s390x/translate.c b/target/s390x/translate.c index a777343821..21d77b7e74 100644 --- a/target/s390x/translate.c +++ b/target/s390x/translate.c @@ -6098,6 +6098,7 @@ enum DisasInsnEnum { #define FAC_AIS S390_FEAT_ADAPTER_INT_SUPPRESSION #define FAC_V S390_FEAT_VECTOR /* vector facility */ #define FAC_VE S390_FEAT_VECTOR_ENH /* vector enhancements facili= ty 1 */ +#define FAC_MIE2 S390_FEAT_MISC_INSTRUCTION_EXT /* miscellaneous-in= struction-extensions facility 2 */ =20 static const DisasInsn insn_info[] =3D { #include "insn-data.def" --=20 2.26.2 From nobody Tue Apr 30 13:56:58 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1600770887; cv=none; d=zohomail.com; s=zohoarc; b=f41T8gbC0XQmgp4zqtMI8EcgxmX7QrhL4rFeTyvJDrxiI5JOJNGH94Bo3SXUD4P8gPC2woS91zXaFV/VoGGYV/jPUSzCt/ybbsu630lclK1EiNu9Y4ong43nAtUkNe9PXt+dS8omopnznlIrt01sEJ5LGGEELvsWds0Ocdk5Ir4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1600770887; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=U944P9G+m879NAeS9xgfrL2agGNL/VREm8Rnvr0AK6I=; b=J5RCCOs2UPpjwxVUCFI//2+394NG5XggohqwyE/QLeyZLOxeaAo5kouUyWA9tMAz7AJawaYbEiIIBGYoLugi3804iFibx8P5+o2JLXQZIlzr23bIWT6r9pucofzMLyJ+oMnl9euuhQxv2ovVJbP1A4HkyehzzFgxSJFUiG5JZbg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1600770887177588.4101595981208; Tue, 22 Sep 2020 03:34:47 -0700 (PDT) Received: from localhost ([::1]:55358 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kKfdF-0007pO-QV for importer@patchew.org; Tue, 22 Sep 2020 06:34:45 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:54316) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kKfaL-00042y-LX for qemu-devel@nongnu.org; Tue, 22 Sep 2020 06:31:45 -0400 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:21456) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kKfaJ-0006Qz-SN for qemu-devel@nongnu.org; Tue, 22 Sep 2020 06:31:45 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-154-Wm5jHawZMvywpw6_r_SPmw-1; Tue, 22 Sep 2020 06:31:39 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 84A28185A0FE; Tue, 22 Sep 2020 10:31:38 +0000 (UTC) Received: from t480s.redhat.com (ovpn-113-20.ams2.redhat.com [10.36.113.20]) by smtp.corp.redhat.com (Postfix) with ESMTP id 2344F27BD1; Tue, 22 Sep 2020 10:31:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1600770703; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=U944P9G+m879NAeS9xgfrL2agGNL/VREm8Rnvr0AK6I=; b=NUky9F8OLFSzYEMkgXBtbi7TDss+VKJNM3qsHKAfp2fN63nUtkUb/SDBF4rBzxY3qzw9mH idr6NU/yOWfMKaWQviu8fwg4ZpI6HPyoepslEFqG3opYxP1tiR3OJHtlDaTkKGYsOZsGm9 v7l4EbVZL0y0YFxH/urywahDDKlaOBE= X-MC-Unique: Wm5jHawZMvywpw6_r_SPmw-1 From: David Hildenbrand To: qemu-devel@nongnu.org Subject: [PATCH v1 2/8] s390x/tcg: Implement SUBTRACT HALFWORD (SGH) Date: Tue, 22 Sep 2020 12:31:23 +0200 Message-Id: <20200922103129.12824-3-david@redhat.com> In-Reply-To: <20200922103129.12824-1-david@redhat.com> References: <20200922103129.12824-1-david@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=david@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=david@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/09/22 02:07:04 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -35 X-Spam_score: -3.6 X-Spam_bar: --- X-Spam_report: (-3.6 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1.455, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: qemu-s390x@nongnu.org, Cornelia Huck , Richard Henderson , Thomas Huth , David Hildenbrand Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Easy to wire up. Signed-off-by: David Hildenbrand Reviewed-by: Richard Henderson Reviewed-by: Thomas Huth --- target/s390x/insn-data.def | 1 + 1 file changed, 1 insertion(+) diff --git a/target/s390x/insn-data.def b/target/s390x/insn-data.def index 8dbeaf8c49..e851e9df5e 100644 --- a/target/s390x/insn-data.def +++ b/target/s390x/insn-data.def @@ -883,6 +883,7 @@ /* SUBTRACT HALFWORD */ C(0x4b00, SH, RX_a, Z, r1, m2_16s, new, r1_32, sub, subs32) C(0xe37b, SHY, RXY_a, LD, r1, m2_16s, new, r1_32, sub, subs32) + C(0xe339, SGH, RXY_a, MIE2,r1, m2_16s, r1, 0, sub, subs64) /* SUBTRACT HIGH */ C(0xb9c9, SHHHR, RRF_a, HW, r2_sr32, r3_sr32, new, r1_32h, sub, sub= s32) C(0xb9d9, SHHLR, RRF_a, HW, r2_sr32, r3, new, r1_32h, sub, subs32) --=20 2.26.2 From nobody Tue Apr 30 13:56:58 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1600770784; cv=none; d=zohomail.com; s=zohoarc; b=JnDD2upUQH0hrL58sefbe/5BOLxDK07WuBA/qQdV3m2mUDxnonnA4SmAjCyRuXOFq0lC1OUlhpddD7i+cOPuOSNdwN3kD9aezUMlM7bHNfc/64xQHan1KuK4ltP2vh6fAX5e4R1r+dGilAYpOpwIjTYt32chN0/E4ShMTnFHSsM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1600770784; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=MPgFiifJH5K6+Z0e1+d84KSygjRUxBz0uDl0bxL56po=; b=LyfXzqzWCONmJKqXKaSYPWSXC2hJ6+gfupchRH5QJJc4NJcGYIvcw6P/bRUEYFenrFijWo37lqLs0LKluG2yRo9yIH8JEu68Il4v4Zswl0RHEQCCiqC5rRglOjZGCEKkUEvKmuVxCv6JDbk8KbazQlgy12psjCH+tAO5F5nMA34= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1600770784153416.5414007260914; Tue, 22 Sep 2020 03:33:04 -0700 (PDT) Received: from localhost ([::1]:49612 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kKfba-0005Sj-Ng for importer@patchew.org; Tue, 22 Sep 2020 06:33:02 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:54326) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kKfaM-00043i-4S for qemu-devel@nongnu.org; Tue, 22 Sep 2020 06:31:46 -0400 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:22929) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kKfaK-0006R3-3n for qemu-devel@nongnu.org; Tue, 22 Sep 2020 06:31:45 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-192-x03nDxkROK-NwP4G-5Y2gQ-1; Tue, 22 Sep 2020 06:31:41 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 4DA2810BBEC3; Tue, 22 Sep 2020 10:31:40 +0000 (UTC) Received: from t480s.redhat.com (ovpn-113-20.ams2.redhat.com [10.36.113.20]) by smtp.corp.redhat.com (Postfix) with ESMTP id D3AB619C4F; Tue, 22 Sep 2020 10:31:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1600770703; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=MPgFiifJH5K6+Z0e1+d84KSygjRUxBz0uDl0bxL56po=; b=V63vtVgd/flvm7YGTP/j1iFNMkjBs36jh/3TeU5sRX+2/wacbmH8w8Eafhz9LX5OZ09Amh GgiLVRSXNCo+IP9VLcPBz0YyvJsagMorvWAJGC/UZ2MlPy+CBLtCaRHB/24qrr9Ny7GFI7 I9Bbfqvgh238MJ75QuMRF+4KHjyQuZY= X-MC-Unique: x03nDxkROK-NwP4G-5Y2gQ-1 From: David Hildenbrand To: qemu-devel@nongnu.org Subject: [PATCH v1 3/8] s390x/tcg: Implement MULTIPLY (MG, MGRK) Date: Tue, 22 Sep 2020 12:31:24 +0200 Message-Id: <20200922103129.12824-4-david@redhat.com> In-Reply-To: <20200922103129.12824-1-david@redhat.com> References: <20200922103129.12824-1-david@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=david@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=david@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/09/22 02:07:04 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -35 X-Spam_score: -3.6 X-Spam_bar: --- X-Spam_report: (-3.6 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1.455, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: qemu-s390x@nongnu.org, Cornelia Huck , Richard Henderson , Thomas Huth , David Hildenbrand Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Multiply two signed 64bit values and store the 128bit result in r1 (0-63) and r1 + 1 (64-127). Signed-off-by: David Hildenbrand Reviewed-by: Richard Henderson --- target/s390x/insn-data.def | 2 ++ target/s390x/translate.c | 13 +++++++++++++ 2 files changed, 15 insertions(+) diff --git a/target/s390x/insn-data.def b/target/s390x/insn-data.def index e851e9df5e..2b4ad1530d 100644 --- a/target/s390x/insn-data.def +++ b/target/s390x/insn-data.def @@ -650,8 +650,10 @@ =20 /* MULTIPLY */ C(0x1c00, MR, RR_a, Z, r1p1_32s, r2_32s, new, r1_D32, mul, 0) + C(0xb9ec, MGRK, RRF_a, MIE2,r3_o, r2_o, r1_P, 0, muls128, 0) C(0x5c00, M, RX_a, Z, r1p1_32s, m2_32s, new, r1_D32, mul, 0) C(0xe35c, MFY, RXY_a, GIE, r1p1_32s, m2_32s, new, r1_D32, mul, 0) + C(0xe384, MG, RXY_a, MIE2,r1p1_o, m2_64, r1_P, 0, muls128, 0) F(0xb317, MEEBR, RRE, Z, e1, e2, new, e1, meeb, 0, IF_BFP) F(0xb31c, MDBR, RRE, Z, f1, f2, new, f1, mdb, 0, IF_BFP) F(0xb34c, MXBR, RRE, Z, x2h, x2l, x1, x1, mxb, 0, IF_BFP) diff --git a/target/s390x/translate.c b/target/s390x/translate.c index 21d77b7e74..b536491892 100644 --- a/target/s390x/translate.c +++ b/target/s390x/translate.c @@ -3518,6 +3518,12 @@ static DisasJumpType op_mul128(DisasContext *s, Disa= sOps *o) return DISAS_NEXT; } =20 +static DisasJumpType op_muls128(DisasContext *s, DisasOps *o) +{ + tcg_gen_muls2_i64(o->out2, o->out, o->in1, o->in2); + return DISAS_NEXT; +} + static DisasJumpType op_meeb(DisasContext *s, DisasOps *o) { gen_helper_meeb(o->out, cpu_env, o->in1, o->in2); @@ -5542,6 +5548,13 @@ static void in1_r1p1(DisasContext *s, DisasOps *o) } #define SPEC_in1_r1p1 SPEC_r1_even =20 +static void in1_r1p1_o(DisasContext *s, DisasOps *o) +{ + o->in1 =3D regs[get_field(s, r1) + 1]; + o->g_in1 =3D true; +} +#define SPEC_in1_r1p1_o SPEC_r1_even + static void in1_r1p1_32s(DisasContext *s, DisasOps *o) { o->in1 =3D tcg_temp_new_i64(); --=20 2.26.2 From nobody Tue Apr 30 13:56:58 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1600770951; cv=none; d=zohomail.com; s=zohoarc; b=Ki815J8YbJJjhJiBdTqhlv8RRH6dCi0iBq31w5DBBqlheN4CRjJNaonxo/FZORxstgbnYOHob76l4Vtc0i9KxAoFZ5LF87Wi3U890DQxV08qv50DOGSOgHUpXV0QXrg30uLyzSN+KGJsMCrx5BEFNquiUHh3u9h6WxMB2U3JTRs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1600770951; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=uD4ZZs3AdQVvdNh/+WO04nhUwpbLsvu+jH+EwquHgOI=; b=bEzIBa6q/xMFCKQyE5tNaIMuIIY2otT1LCepVUWNtRN/p9qycg02xLCiDYF/OdqbgybjjXcWpu4Ksn64YNgw37YI8iuRVqX+fVw30BRp63qF6ybCwkbDOvCL8oSW2lWacOhRGhb3FZOT9LrC15isEWFT+5Tg0U6800i8VNDGjC0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1600770951195156.34013411117417; Tue, 22 Sep 2020 03:35:51 -0700 (PDT) Received: from localhost ([::1]:58286 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kKfeH-0000bO-TK for importer@patchew.org; Tue, 22 Sep 2020 06:35:49 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:54416) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kKfaQ-0004CJ-IY for qemu-devel@nongnu.org; Tue, 22 Sep 2020 06:31:50 -0400 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:30788) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kKfaL-0006RZ-Pn for qemu-devel@nongnu.org; Tue, 22 Sep 2020 06:31:50 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-419-Ld3tGWz2Ol-yFFQ3OuCYWg-1; Tue, 22 Sep 2020 06:31:43 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 17F731868425; Tue, 22 Sep 2020 10:31:42 +0000 (UTC) Received: from t480s.redhat.com (ovpn-113-20.ams2.redhat.com [10.36.113.20]) by smtp.corp.redhat.com (Postfix) with ESMTP id 9DF1719C4F; Tue, 22 Sep 2020 10:31:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1600770705; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=uD4ZZs3AdQVvdNh/+WO04nhUwpbLsvu+jH+EwquHgOI=; b=SOWktmOb4vFxo8lDZO6wlGTpPoYH+QLxwbVicZGHBF+82bWd39vYt5OBm1cxct7+x1aDmA kbLCv5zD2asdtsD/B6/+Rgl4G77enoNM/0+Sh/alHkq5PhdntABY706ollsf8FNRhztYiR 9ycQ2t+hnTltBbimCbrVFQEBys9D49Y= X-MC-Unique: Ld3tGWz2Ol-yFFQ3OuCYWg-1 From: David Hildenbrand To: qemu-devel@nongnu.org Subject: [PATCH v1 4/8] s390x/tcg: Implement MULTIPLY HALFWORD (MGH) Date: Tue, 22 Sep 2020 12:31:25 +0200 Message-Id: <20200922103129.12824-5-david@redhat.com> In-Reply-To: <20200922103129.12824-1-david@redhat.com> References: <20200922103129.12824-1-david@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=david@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=david@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/09/22 00:31:51 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -35 X-Spam_score: -3.6 X-Spam_bar: --- X-Spam_report: (-3.6 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1.455, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: qemu-s390x@nongnu.org, Cornelia Huck , Richard Henderson , Thomas Huth , David Hildenbrand Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Just like MULTIPLY HALFWORD IMMEDIATE (MGHI), only the second operand (signed 16 bit) comes from memory. Signed-off-by: David Hildenbrand Reviewed-by: Richard Henderson --- target/s390x/insn-data.def | 1 + 1 file changed, 1 insertion(+) diff --git a/target/s390x/insn-data.def b/target/s390x/insn-data.def index 2b4ad1530d..455efe73da 100644 --- a/target/s390x/insn-data.def +++ b/target/s390x/insn-data.def @@ -666,6 +666,7 @@ /* MULTIPLY HALFWORD */ C(0x4c00, MH, RX_a, Z, r1_o, m2_16s, new, r1_32, mul, 0) C(0xe37c, MHY, RXY_a, GIE, r1_o, m2_16s, new, r1_32, mul, 0) + C(0xe33c, MGH, RXY_a, MIE2,r1_o, m2_16s, r1, 0, mul, 0) /* MULTIPLY HALFWORD IMMEDIATE */ C(0xa70c, MHI, RI_a, Z, r1_o, i2, new, r1_32, mul, 0) C(0xa70d, MGHI, RI_a, Z, r1_o, i2, r1, 0, mul, 0) --=20 2.26.2 From nobody Tue Apr 30 13:56:58 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1600771076; cv=none; d=zohomail.com; s=zohoarc; b=AY+7Pj0+M2oc9NJ+YgNKkgLADSkCMmTNJVipKmWFZhOH/Ww5mKSswR+IsrJyzVytYQCwn9w9vErvVGvkdbWG7VfJIISJTieghuLQZ3QUXt1smJNkmjtMf2AP16kZHiJR/GICbveV6DztCR24/f9DW4UxkBYvilEPioV6ENzkE+s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1600771076; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=4UDYOUobIS4HPyMO0LM18wbJhIIlX5pigEtZUvhEekE=; b=S5bGSbFL+6Rv7/aNGi0rNZYnbtSYZn0JyEbDrQ+t+gTx5oaUW08tTjjgwhuY/1txKsmOOwzvRonA5nBwBIW5Ih6ZDKPXxlVRaSNy5bMwigfXxZ+d0oVDsyOysf+IVBmG4PElIIC8Ms0zobvWoWHVurNSi1Y0XH9iqL+d2WVYPCI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1600771076306504.7398746419641; Tue, 22 Sep 2020 03:37:56 -0700 (PDT) Received: from localhost ([::1]:35566 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kKfgI-00030W-W8 for importer@patchew.org; Tue, 22 Sep 2020 06:37:55 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:54392) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kKfaP-0004An-CJ for qemu-devel@nongnu.org; Tue, 22 Sep 2020 06:31:49 -0400 Received: from us-smtp-delivery-1.mimecast.com ([207.211.31.120]:54733 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kKfaN-0006S5-Nn for qemu-devel@nongnu.org; Tue, 22 Sep 2020 06:31:49 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-309-MLWwZYn8PzC1XIHVb-3qHA-1; Tue, 22 Sep 2020 06:31:44 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id BF1151868434; Tue, 22 Sep 2020 10:31:43 +0000 (UTC) Received: from t480s.redhat.com (ovpn-113-20.ams2.redhat.com [10.36.113.20]) by smtp.corp.redhat.com (Postfix) with ESMTP id 6542B19C4F; Tue, 22 Sep 2020 10:31:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1600770706; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=4UDYOUobIS4HPyMO0LM18wbJhIIlX5pigEtZUvhEekE=; b=Yd29PWPW2TH4+83gR39JhRq+ixE/CZCUqngxinRqpPOb+fUl+/CFohHNgCqBCwFUFYCIOF YVV/bauLnXrETtPHc3qF+dUYYs2S9mKkdZh7WmNBsC2SYnO0QmZDNrhE/XX+FADua2yUwZ g60PQwCnOpOWU+ws8Sg3L3IBP+Z5NtQ= X-MC-Unique: MLWwZYn8PzC1XIHVb-3qHA-1 From: David Hildenbrand To: qemu-devel@nongnu.org Subject: [PATCH v1 5/8] s390x/tcg: Implement BRANCH INDIRECT ON CONDITION (BIC) Date: Tue, 22 Sep 2020 12:31:26 +0200 Message-Id: <20200922103129.12824-6-david@redhat.com> In-Reply-To: <20200922103129.12824-1-david@redhat.com> References: <20200922103129.12824-1-david@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=david@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=207.211.31.120; envelope-from=david@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/09/22 01:57:21 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -35 X-Spam_score: -3.6 X-Spam_bar: --- X-Spam_report: (-3.6 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1.455, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: qemu-s390x@nongnu.org, Cornelia Huck , Richard Henderson , Thomas Huth , David Hildenbrand Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Just like BRANCH ON CONDITION - however the address is read from memory (always 8 bytes are read), we have to wrap the address manually. The address is read using current CPU DAT/address-space controls, just like ordinary data. Signed-off-by: David Hildenbrand --- target/s390x/insn-data.def | 2 ++ target/s390x/translate.c | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/target/s390x/insn-data.def b/target/s390x/insn-data.def index 455efe73da..dfb0ec067b 100644 --- a/target/s390x/insn-data.def +++ b/target/s390x/insn-data.def @@ -115,6 +115,8 @@ /* BRANCH RELATIVE AND SAVE */ C(0xa705, BRAS, RI_b, Z, 0, 0, r1, 0, basi, 0) C(0xc005, BRASL, RIL_b, Z, 0, 0, r1, 0, basi, 0) +/* BRANCH INDIRECT ON CONDITION */ + C(0xe347, BIC, RXY_b, MIE2,0, m2_64, 0, 0, bc, 0) /* BRANCH ON CONDITION */ C(0x0700, BCR, RR_b, Z, 0, r2_nz, 0, 0, bc, 0) C(0x4700, BC, RX_b, Z, 0, a2, 0, 0, bc, 0) diff --git a/target/s390x/translate.c b/target/s390x/translate.c index b536491892..383edf7419 100644 --- a/target/s390x/translate.c +++ b/target/s390x/translate.c @@ -1626,6 +1626,11 @@ static DisasJumpType op_bc(DisasContext *s, DisasOps= *o) return DISAS_NEXT; } =20 + /* For BIC the address came from memory, we need to wrap it again. */ + if (s->fields.op2 =3D=3D 0x47) { + gen_addi_and_wrap_i64(s, o->in2, o->in2, 0); + } + disas_jcc(s, &c, m1); return help_branch(s, &c, is_imm, imm, o->in2); } --=20 2.26.2 From nobody Tue Apr 30 13:56:58 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1600771190; cv=none; d=zohomail.com; s=zohoarc; b=Cw4VZmEnTYzf4p0cwnQu1E97fd6slWKL605PM9oWB+NLGxmNrKYmzkmplb0RQl1Yg92TYJAx83rvudteWezLIy2hIOIrvX4CYh1ohcUQG/PwVoGxQ1HDaeIpFuZZ3MNiI7RnoS7VwxvP0DtFmbQcoLCtT7Ey3L76oN6SQHo63+8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1600771190; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=c9jkd+9WrIX5vZF1mzci7p5oHp9uENb90pHj8SNwHtM=; b=iRsuEJpJdBF3zNa4DcS/aYoj4vWWcbltX+v5jUSBQLKxmjkLo5gglXamhPT34JP5Xv2qlb/8Ak0u3f31QEbet9Joeqr8wOM6cwuBxy858M7NSIe4LTWg1/eTeCNirvdy1ND/ycijrdug5GPVzrnmWFxWBRfryKl5dpgJb27ye8k= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1600771190601755.9487917477553; Tue, 22 Sep 2020 03:39:50 -0700 (PDT) Received: from localhost ([::1]:42484 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kKfi9-0005tV-Aa for importer@patchew.org; Tue, 22 Sep 2020 06:39:49 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:54424) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kKfaR-0004EI-Fh for qemu-devel@nongnu.org; Tue, 22 Sep 2020 06:31:51 -0400 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:30791) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kKfaP-0006SN-0p for qemu-devel@nongnu.org; Tue, 22 Sep 2020 06:31:51 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-502-pykDW5GUO7-Y77s81-VbOw-1; Tue, 22 Sep 2020 06:31:46 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 739F110BBECD; Tue, 22 Sep 2020 10:31:45 +0000 (UTC) Received: from t480s.redhat.com (ovpn-113-20.ams2.redhat.com [10.36.113.20]) by smtp.corp.redhat.com (Postfix) with ESMTP id 192E819C4F; Tue, 22 Sep 2020 10:31:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1600770708; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=c9jkd+9WrIX5vZF1mzci7p5oHp9uENb90pHj8SNwHtM=; b=NBxoP/8q1RlawSaQwYLA690FOx41M6ofyG/nqCfRqBF8p7s9rSaKeWGU4CjB6QOKANPznG iqB/H5Ed/8PaLGwwJUOyti3AH2w5Fu5msTY4vl86oXnxZJMhNyO+1rukbf1WoYNWb84Ruc N0BMO+m+VQTnQdo5mfH05848Q595nUc= X-MC-Unique: pykDW5GUO7-Y77s81-VbOw-1 From: David Hildenbrand To: qemu-devel@nongnu.org Subject: [PATCH v1 6/8] s390x/tcg: Implement MULTIPLY SINGLE (MSC, MSGC, MSGRKC, MSRKC) Date: Tue, 22 Sep 2020 12:31:27 +0200 Message-Id: <20200922103129.12824-7-david@redhat.com> In-Reply-To: <20200922103129.12824-1-david@redhat.com> References: <20200922103129.12824-1-david@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=david@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=david@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/09/22 02:07:04 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -35 X-Spam_score: -3.6 X-Spam_bar: --- X-Spam_report: (-3.6 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1.455, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: qemu-s390x@nongnu.org, Cornelia Huck , Richard Henderson , Thomas Huth , David Hildenbrand Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" We need new CC handling, determining the CC based on the intermediate result (64bit for MSC and MSRKC, 128bit for MSGC and MSGRKC). We want to store out2 ("low") after muls128 to r1, so add "wout_out2_r1". Signed-off-by: David Hildenbrand --- target/s390x/cc_helper.c | 34 ++++++++++++++++++++++++++++++++++ target/s390x/helper.c | 2 ++ target/s390x/insn-data.def | 4 ++++ target/s390x/internal.h | 2 ++ target/s390x/translate.c | 19 +++++++++++++++++++ 5 files changed, 61 insertions(+) diff --git a/target/s390x/cc_helper.c b/target/s390x/cc_helper.c index 44731e4a85..62074648e6 100644 --- a/target/s390x/cc_helper.c +++ b/target/s390x/cc_helper.c @@ -417,6 +417,35 @@ static uint32_t cc_calc_vc(uint64_t low, uint64_t high) } } =20 +static uint32_t cc_calc_muls_32(int64_t res) +{ + /* Arithmetic shift with sign extension so we can compare against -1ul= l. */ + const uint64_t tmp =3D res >> 31; + + if (!res) { + return 0; + } else if (!(!tmp || tmp =3D=3D -1ull)) { + return 3; + } else if (res < 0) { + return 1; + } + return 2; +} + +static uint64_t cc_calc_muls_64(int64_t res_high, uint64_t res_low) +{ + const uint8_t tmp =3D res_low >> 63; + + if (!res_high && !res_low) { + return 0; + } else if (!(!res_high && !tmp) || !(res_high =3D=3D -1ull && tmp)) { + return 3; + } else if (res_high < 0) { + return 1; + } + return 2; +} + static uint32_t do_calc_cc(CPUS390XState *env, uint32_t cc_op, uint64_t src, uint64_t dst, uint64_t vr) { @@ -484,6 +513,9 @@ static uint32_t do_calc_cc(CPUS390XState *env, uint32_t= cc_op, case CC_OP_COMP_64: r =3D cc_calc_comp_64(dst); break; + case CC_OP_MULS_64: + r =3D cc_calc_muls_64(src, dst); + break; =20 case CC_OP_ADD_32: r =3D cc_calc_add_32(src, dst, vr); @@ -512,6 +544,8 @@ static uint32_t do_calc_cc(CPUS390XState *env, uint32_t= cc_op, case CC_OP_COMP_32: r =3D cc_calc_comp_32(dst); break; + case CC_OP_MULS_32: + r =3D cc_calc_muls_32(dst); =20 case CC_OP_ICM: r =3D cc_calc_icm(src, dst); diff --git a/target/s390x/helper.c b/target/s390x/helper.c index 9257d388ba..b877690845 100644 --- a/target/s390x/helper.c +++ b/target/s390x/helper.c @@ -430,6 +430,8 @@ const char *cc_name(enum cc_op cc_op) [CC_OP_FLOGR] =3D "CC_OP_FLOGR", [CC_OP_LCBB] =3D "CC_OP_LCBB", [CC_OP_VC] =3D "CC_OP_VC", + [CC_OP_MULS_32] =3D "CC_OP_MULS_32", + [CC_OP_MULS_64] =3D "CC_OP_MULS_64", }; =20 return cc_names[cc_op]; diff --git a/target/s390x/insn-data.def b/target/s390x/insn-data.def index dfb0ec067b..bcd424e9ae 100644 --- a/target/s390x/insn-data.def +++ b/target/s390x/insn-data.def @@ -679,11 +679,15 @@ C(0xe386, MLG, RXY_a, Z, r1p1, m2_64, r1_P, 0, mul128, 0) /* MULTIPLY SINGLE */ C(0xb252, MSR, RRE, Z, r1_o, r2_o, new, r1_32, mul, 0) + C(0xb9fd, MSRKC, RRF_a, MIE2,r3_32s, r2_32s, new, r1_32, mul, muls32) C(0x7100, MS, RX_a, Z, r1_o, m2_32s, new, r1_32, mul, 0) C(0xe351, MSY, RXY_a, LD, r1_o, m2_32s, new, r1_32, mul, 0) + C(0xe353, MSC, RXY_a, MIE2,r1_32s, m2_32s, new, r1_32, mul, muls32) C(0xb90c, MSGR, RRE, Z, r1_o, r2_o, r1, 0, mul, 0) + C(0xb9ed, MSGRKC, RRF_a, MIE2,r3_o, r2_o, new_P, out2_r1, muls128, mu= ls64) C(0xb91c, MSGFR, RRE, Z, r1_o, r2_32s, r1, 0, mul, 0) C(0xe30c, MSG, RXY_a, Z, r1_o, m2_64, r1, 0, mul, 0) + C(0xe383, MSGC, RXY_a, MIE2,r1_o, m2_64, new_P, out2_r1, muls128, m= uls64) C(0xe31c, MSGF, RXY_a, Z, r1_o, m2_32s, r1, 0, mul, 0) /* MULTIPLY SINGLE IMMEDIATE */ C(0xc201, MSFI, RIL_a, GIE, r1_o, i2, new, r1_32, mul, 0) diff --git a/target/s390x/internal.h b/target/s390x/internal.h index b1e0ebf67f..c5d32237ea 100644 --- a/target/s390x/internal.h +++ b/target/s390x/internal.h @@ -175,6 +175,7 @@ enum cc_op { CC_OP_SUBB_64, /* overflow on unsigned sub-borrow (64bit)= */ CC_OP_ABS_64, /* sign eval on abs (64bit) */ CC_OP_NABS_64, /* sign eval on nabs (64bit) */ + CC_OP_MULS_64, /* overflow on signed multiply (64bit) */ =20 CC_OP_ADD_32, /* overflow on add (32bit) */ CC_OP_ADDU_32, /* overflow on unsigned add (32bit) */ @@ -184,6 +185,7 @@ enum cc_op { CC_OP_SUBB_32, /* overflow on unsigned sub-borrow (32bit)= */ CC_OP_ABS_32, /* sign eval on abs (64bit) */ CC_OP_NABS_32, /* sign eval on nabs (64bit) */ + CC_OP_MULS_32, /* overflow on signed multiply (32bit) */ =20 CC_OP_COMP_32, /* complement */ CC_OP_COMP_64, /* complement */ diff --git a/target/s390x/translate.c b/target/s390x/translate.c index 383edf7419..c90cb37aae 100644 --- a/target/s390x/translate.c +++ b/target/s390x/translate.c @@ -646,6 +646,7 @@ static void gen_op_calc_cc(DisasContext *s) case CC_OP_NZ_F64: case CC_OP_FLOGR: case CC_OP_LCBB: + case CC_OP_MULS_32: /* 1 argument */ gen_helper_calc_cc(cc_op, cpu_env, local_cc_op, dummy, cc_dst, dum= my); break; @@ -660,6 +661,7 @@ static void gen_op_calc_cc(DisasContext *s) case CC_OP_SLA_64: case CC_OP_NZ_F128: case CC_OP_VC: + case CC_OP_MULS_64: /* 2 arguments */ gen_helper_calc_cc(cc_op, cpu_env, local_cc_op, cc_src, cc_dst, du= mmy); break; @@ -5294,6 +5296,17 @@ static void cout_tm64(DisasContext *s, DisasOps *o) gen_op_update2_cc_i64(s, CC_OP_TM_64, o->in1, o->in2); } =20 +static void cout_muls32(DisasContext *s, DisasOps *o) +{ + gen_op_update1_cc_i64(s, CC_OP_MULS_32, o->out); +} + +static void cout_muls64(DisasContext *s, DisasOps *o) +{ + /* out contains "high" part, out2 contains "low" part of 128 bit resul= t */ + gen_op_update2_cc_i64(s, CC_OP_MULS_64, o->out, o->out2); +} + /* =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D */ /* The "PREParation" generators. These initialize the DisasOps.OUT fields with the TCG register to which we will write. Used in combination with @@ -5349,6 +5362,12 @@ static void wout_r1(DisasContext *s, DisasOps *o) } #define SPEC_wout_r1 0 =20 +static void wout_out2_r1(DisasContext *s, DisasOps *o) +{ + store_reg(get_field(s, r1), o->out2); +} +#define SPEC_wout_out2_r1 0 + static void wout_r1_8(DisasContext *s, DisasOps *o) { int r1 =3D get_field(s, r1); --=20 2.26.2 From nobody Tue Apr 30 13:56:58 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1600771091; cv=none; d=zohomail.com; s=zohoarc; b=IR5mFGPTnuR5ksPpdvBReI2OqoeJIDjWDAnEyci4sqiFeWA8nZgJVt0HjMTuyuoD96U6qHvvBAGwX1kLvu8ZqWUybV2d/VmNmhEjGT+S0VnnVNYTXuJJeGAyxCqJO6NE/IYBBATO+Ov6HfGN3rdROJIhQedvomOkwMTwcJDBLfg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1600771091; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=0HFEVLn73noH2+fzi/DwrhOkiWRVkzQbT5P0i3mZz88=; b=ksHW9vJ1HMj1BcM7FUIqWqiXJutvZPWlPojXRTA7QaVrBRgro8b6fxZqJ/Umg5xjx4io+wNt0Ru0XeKCnyfwu3EfSYd65Klh5xJkaD5+CDmspCrmbfqxf0olubLFvJ70zPlruBN2dfq0q5/rCngF504nyZQaPSb8oOKnzSs8du0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1600771091987710.1947405815754; Tue, 22 Sep 2020 03:38:11 -0700 (PDT) Received: from localhost ([::1]:36370 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kKfgY-0003MO-JC for importer@patchew.org; Tue, 22 Sep 2020 06:38:10 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:54448) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kKfaT-0004J3-HL for qemu-devel@nongnu.org; Tue, 22 Sep 2020 06:31:53 -0400 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:33251) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kKfaR-0006Sq-OT for qemu-devel@nongnu.org; Tue, 22 Sep 2020 06:31:53 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-143--bHDx7JZN-SvdWxvcxu1qg-1; Tue, 22 Sep 2020 06:31:48 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 2849D80046B; Tue, 22 Sep 2020 10:31:47 +0000 (UTC) Received: from t480s.redhat.com (ovpn-113-20.ams2.redhat.com [10.36.113.20]) by smtp.corp.redhat.com (Postfix) with ESMTP id C0FE019C4F; Tue, 22 Sep 2020 10:31:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1600770711; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=0HFEVLn73noH2+fzi/DwrhOkiWRVkzQbT5P0i3mZz88=; b=DaL8aMHkJddQHIw2c3IPQp0E5ndHeBMpPliGJXnOq56wZVkeOIFym90Hw09QkkGrensmPI c0APnDF8PAOGVXeMfJPlHDEuf1nMKfftnZiP+xHhxKd9kvjYw3G0QJFWl/uJB1G2KTnJ38 kvs30YTT0ZUsoBNrZFfWQijuSSqADTI= X-MC-Unique: -bHDx7JZN-SvdWxvcxu1qg-1 From: David Hildenbrand To: qemu-devel@nongnu.org Subject: [PATCH v1 7/8] s390x/tcg: We support Miscellaneous-Instruction-Extensions Facility 2 Date: Tue, 22 Sep 2020 12:31:28 +0200 Message-Id: <20200922103129.12824-8-david@redhat.com> In-Reply-To: <20200922103129.12824-1-david@redhat.com> References: <20200922103129.12824-1-david@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=david@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=david@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/09/22 00:31:51 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -35 X-Spam_score: -3.6 X-Spam_bar: --- X-Spam_report: (-3.6 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1.455, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: qemu-s390x@nongnu.org, Cornelia Huck , Richard Henderson , Thomas Huth , David Hildenbrand Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" We implement all relevant instructions. Signed-off-by: David Hildenbrand Reviewed-by: Richard Henderson --- target/s390x/gen-features.c | 1 + 1 file changed, 1 insertion(+) diff --git a/target/s390x/gen-features.c b/target/s390x/gen-features.c index 8ddeebc544..1736b85ab0 100644 --- a/target/s390x/gen-features.c +++ b/target/s390x/gen-features.c @@ -716,6 +716,7 @@ static uint16_t qemu_MAX[] =3D { S390_FEAT_MSA_EXT_5, /* features introduced after the z13 */ S390_FEAT_INSTRUCTION_EXEC_PROT, + S390_FEAT_MISC_INSTRUCTION_EXT, }; =20 /****** END FEATURE DEFS ******/ --=20 2.26.2 From nobody Tue Apr 30 13:56:58 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1600771212; cv=none; d=zohomail.com; s=zohoarc; b=awqy2EnCBtnLbM0v872JuVPKB40Y9Y/fHuOaq7Yf+72BW/P7Zpf/9z+TooSO+EIsFx1IJRunqOWXZwJvnZhi+JzmqPsaxMNLGtJ3zOqCcTsTiHvFVkIi9WyV4lj+iWyUwtWtn99LjtuRl9JfG3w0Ex+WKCnArB1Vkv5gxUEw+30= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1600771212; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=woNXgy+g6diIx3edLt4lKkiGEuXFcC6Qn4PHaQTNE9g=; b=TVZB2HieuxvqnwXbIft/in8H9fzE/BJD6h3/CmftkfHIIsJQdwFJXSVRKVQzMfgRqCXYQe/EnU9AiIctSQrQCl23JYsbjyfLzBE41CgUNK2YDs+cUYVpj2evZX+8S7fBw9vUa5KgcKprfZBeVefaHrnOztVO/m6uPLnpUvcZ6OU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1600771212438502.79420807243946; Tue, 22 Sep 2020 03:40:12 -0700 (PDT) Received: from localhost ([::1]:43422 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kKfiV-0006Ht-6N for importer@patchew.org; Tue, 22 Sep 2020 06:40:11 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:54488) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kKfaV-0004N7-7V for qemu-devel@nongnu.org; Tue, 22 Sep 2020 06:31:55 -0400 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:29951) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kKfaS-0006T1-Iu for qemu-devel@nongnu.org; Tue, 22 Sep 2020 06:31:54 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-442-hkJENZLJOM6Ut41kAIQmAg-1; Tue, 22 Sep 2020 06:31:49 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id D3A751005E61; Tue, 22 Sep 2020 10:31:48 +0000 (UTC) Received: from t480s.redhat.com (ovpn-113-20.ams2.redhat.com [10.36.113.20]) by smtp.corp.redhat.com (Postfix) with ESMTP id 75B6019C4F; Tue, 22 Sep 2020 10:31:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1600770711; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=woNXgy+g6diIx3edLt4lKkiGEuXFcC6Qn4PHaQTNE9g=; b=IQsi3VgDef5U0gX/1YOtDi9qtD/XlCxXi1hTZ0xbPsysEX0j7y0r1KZEfu9QI3AQekgUNL XWGev6WUtT6wm4Uq1531ae/JpyAgncPBVvUtqcZa/91oocTu0OW1wde8k2KeNBrJYdpGiP lyFcrmA/X0ddQKi12TM9HMyVdMdy9vY= X-MC-Unique: hkJENZLJOM6Ut41kAIQmAg-1 From: David Hildenbrand To: qemu-devel@nongnu.org Subject: [PATCH v1 8/8] s390x/tcg: Implement CIPHER MESSAGE WITH AUTHENTICATION (KMA) Date: Tue, 22 Sep 2020 12:31:29 +0200 Message-Id: <20200922103129.12824-9-david@redhat.com> In-Reply-To: <20200922103129.12824-1-david@redhat.com> References: <20200922103129.12824-1-david@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=david@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=david@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/09/22 02:07:04 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -35 X-Spam_score: -3.6 X-Spam_bar: --- X-Spam_report: (-3.6 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1.455, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: qemu-s390x@nongnu.org, Cornelia Huck , Richard Henderson , Thomas Huth , David Hildenbrand Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" As with the other crypto functions, we only implement subcode 0 (query) and no actual encryption/decryption. We now implement S390_FEAT_MSA_EXT_8. Signed-off-by: David Hildenbrand Reviewed-by: Richard Henderson --- target/s390x/gen-features.c | 1 + target/s390x/insn-data.def | 1 + target/s390x/translate.c | 7 +++++++ 3 files changed, 9 insertions(+) diff --git a/target/s390x/gen-features.c b/target/s390x/gen-features.c index 1736b85ab0..8de18f7f41 100644 --- a/target/s390x/gen-features.c +++ b/target/s390x/gen-features.c @@ -717,6 +717,7 @@ static uint16_t qemu_MAX[] =3D { /* features introduced after the z13 */ S390_FEAT_INSTRUCTION_EXEC_PROT, S390_FEAT_MISC_INSTRUCTION_EXT, + S390_FEAT_MSA_EXT_8, }; =20 /****** END FEATURE DEFS ******/ diff --git a/target/s390x/insn-data.def b/target/s390x/insn-data.def index bcd424e9ae..1ffdc20d59 100644 --- a/target/s390x/insn-data.def +++ b/target/s390x/insn-data.def @@ -979,6 +979,7 @@ D(0xb92d, KMCTR, RRF_b, MSA4, 0, 0, 0, 0, msa, 0, S390_FEAT_TYPE_KMC= TR) D(0xb92e, KM, RRE, MSA, 0, 0, 0, 0, msa, 0, S390_FEAT_TYPE_KM) D(0xb92f, KMC, RRE, MSA, 0, 0, 0, 0, msa, 0, S390_FEAT_TYPE_KMC) + D(0xb929, KMA, RRF_b, MSA8, 0, 0, 0, 0, msa, 0, S390_FEAT_TYPE_KMA) D(0xb93c, PPNO, RRE, MSA5, 0, 0, 0, 0, msa, 0, S390_FEAT_TYPE_PPN= O) D(0xb93e, KIMD, RRE, MSA, 0, 0, 0, 0, msa, 0, S390_FEAT_TYPE_KIM= D) D(0xb93f, KLMD, RRE, MSA, 0, 0, 0, 0, msa, 0, S390_FEAT_TYPE_KLM= D) diff --git a/target/s390x/translate.c b/target/s390x/translate.c index c90cb37aae..df549e59e9 100644 --- a/target/s390x/translate.c +++ b/target/s390x/translate.c @@ -2715,6 +2715,12 @@ static DisasJumpType op_msa(DisasContext *s, DisasOp= s *o) TCGv_i32 t_r1, t_r2, t_r3, type; =20 switch (s->insn->data) { + case S390_FEAT_TYPE_KMA: + if (r3 =3D=3D r1 || r3 =3D=3D r2) { + gen_program_exception(s, PGM_SPECIFICATION); + return DISAS_NORETURN; + } + /* FALL THROUGH */ case S390_FEAT_TYPE_KMCTR: if (r3 & 1 || !r3) { gen_program_exception(s, PGM_SPECIFICATION); @@ -6130,6 +6136,7 @@ enum DisasInsnEnum { #define FAC_MSA3 S390_FEAT_MSA_EXT_3 /* msa-extension-3 facility */ #define FAC_MSA4 S390_FEAT_MSA_EXT_4 /* msa-extension-4 facility */ #define FAC_MSA5 S390_FEAT_MSA_EXT_5 /* msa-extension-5 facility */ +#define FAC_MSA8 S390_FEAT_MSA_EXT_8 /* msa-extension-8 facility */ #define FAC_ECT S390_FEAT_EXTRACT_CPU_TIME #define FAC_PCI S390_FEAT_ZPCI /* z/PCI facility */ #define FAC_AIS S390_FEAT_ADAPTER_INT_SUPPRESSION --=20 2.26.2