From nobody Sun Feb 8 23:05:21 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.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; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.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=1571738332; cv=none; d=zoho.com; s=zohoarc; b=AuV565oECot+SYUIbmhIZ0hhs7kJH65rDumYZYCra2wjOK7T6jnWBMhqkNVzF/SYbhW3PjlYfBUUb6QxuDAvgYk8AcPSEjicoIwo4FMgkgh95jVxVCG4kZ1VqgXzmMi0WCTRJ19qZ3w6xb98p7QC3phHLiBTuos1wXhTvYqZsoQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1571738332; 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=un2KTAVd6ZU2512JadUGRYADd4HKwD1YIwHJQjkJQ5E=; b=GV1M6bGIw2SfRQwR8raFvg/N9K2IEIl9Fu4Ff5Qn/uil4KD9HTntrkEys7K+o0+yYpR1439B0/ByjMkFTijQSZW87pGTjTDFGsFX1iZx7lEMIXidIE+XtFqYaltASHRpNNB6T1nW+rNsg4eVX5M52bdWs9JLBMpvmUJMSJjB0/Q= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=fail; spf=pass (zoho.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 1571738332395273.921439992444; Tue, 22 Oct 2019 02:58:52 -0700 (PDT) Received: from localhost ([::1]:52608 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMqwF-0000d3-DR for importer@patchew.org; Tue, 22 Oct 2019 05:58:51 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59430) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMqsZ-0005y4-9F for qemu-devel@nongnu.org; Tue, 22 Oct 2019 05:55:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMqsY-0005mW-3b for qemu-devel@nongnu.org; Tue, 22 Oct 2019 05:55:03 -0400 Received: from us-smtp-delivery-1.mimecast.com ([205.139.110.120]:31253 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iMqsX-0005mJ-VI for qemu-devel@nongnu.org; Tue, 22 Oct 2019 05:55:02 -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-280-V6W5uMdqPiKAIDC40xrl9g-1; Tue, 22 Oct 2019 05:54:59 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id AB865476; Tue, 22 Oct 2019 09:54:58 +0000 (UTC) Received: from localhost (dhcp-192-218.str.redhat.com [10.33.192.218]) by smtp.corp.redhat.com (Postfix) with ESMTPS id CF8931001B39; Tue, 22 Oct 2019 09:54:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1571738101; 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=un2KTAVd6ZU2512JadUGRYADd4HKwD1YIwHJQjkJQ5E=; b=gF+aS/xoSaJocIc+TNrNm8j47FEGfbIOnLFw5X+dvXqZ9qWYtFJl74B2eMkgdy/iDDaVOF 4MBesdKVZEZdtp2ImP6CZItDxZA+9e0+Q8Wveq9YRe6dOwh5grRtUywi8rENkpWbIRIylR K5DhPzOzlrNCh8NF7Jm7i/JfoEWApKI= From: Cornelia Huck To: Peter Maydell Subject: [PULL 7/9] s390x/tcg: Fix VECTOR SUBTRACT WITH BORROW INDICATION Date: Tue, 22 Oct 2019 11:54:26 +0200 Message-Id: <20191022095428.20780-8-cohuck@redhat.com> In-Reply-To: <20191022095428.20780-1-cohuck@redhat.com> References: <20191022095428.20780-1-cohuck@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-MC-Unique: V6W5uMdqPiKAIDC40xrl9g-1 X-Mimecast-Spam-Score: 0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 205.139.110.120 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 , qemu-devel@nongnu.org, 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" From: David Hildenbrand Testing this, there seems to be something messed up. We are dealing with unsigned numbers. "Each operand is treated as an unsigned binary integer." Let's just implement as written in the PoP: "A subtraction is performed by adding the contents of the second operand with the bitwise complement of the third operand along with a borrow indication from the rightmost bit position of the fourth operand and the result is placed in the first operand." We can reuse gen_ac2_i64(). Fixes: 48390a7c2716 ("s390x/tcg: Implement VECTOR SUBTRACT WITH BORROW INDI= CATION") Signed-off-by: David Hildenbrand Message-Id: <20191021085715.3797-6-david@redhat.com> Reviewed-by: Richard Henderson Signed-off-by: Cornelia Huck --- target/s390x/translate_vx.inc.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/target/s390x/translate_vx.inc.c b/target/s390x/translate_vx.in= c.c index 6032021d82e7..fd746ba35fb6 100644 --- a/target/s390x/translate_vx.inc.c +++ b/target/s390x/translate_vx.inc.c @@ -2187,13 +2187,13 @@ static void gen_sbi2_i64(TCGv_i64 dl, TCGv_i64 dh, = TCGv_i64 al, TCGv_i64 ah, TCGv_i64 bl, TCGv_i64 bh, TCGv_i64 cl, TCGv_i64 c= h) { TCGv_i64 tl =3D tcg_temp_new_i64(); - TCGv_i64 zero =3D tcg_const_i64(0); + TCGv_i64 th =3D tcg_temp_new_i64(); =20 - tcg_gen_andi_i64(tl, cl, 1); - tcg_gen_sub2_i64(dl, dh, al, ah, bl, bh); - tcg_gen_sub2_i64(dl, dh, dl, dh, tl, zero); + tcg_gen_not_i64(tl, bl); + tcg_gen_not_i64(th, bh); + gen_ac2_i64(dl, dh, al, ah, tl, th, cl, ch); tcg_temp_free_i64(tl); - tcg_temp_free_i64(zero); + tcg_temp_free_i64(th); } =20 static DisasJumpType op_vsbi(DisasContext *s, DisasOps *o) --=20 2.21.0