From nobody Wed Nov 19 07:02:43 2025 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=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1615307839; cv=none; d=zohomail.com; s=zohoarc; b=RZjqExszMMhqb8X0a6IZYWlw4JPVvHNarB82/9zgjutzPOH8ZZwUJJvu5IoVDNprrs5t2Vc3voSpzu6SRXzWGrLKeId/jcClNhPTbl0tcZ0st7KSH/2RNWyCI5EoMjltOb5jzu3iguYEQT+eBOyLxQiEBkYrgO69V7R29V3AbcI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1615307839; h=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=1hAPjphDb7JdVH1DtHKU8lsgpgDqsKcv7jopV79CjZI=; b=nUF91qJQu06aKbbrIx4LlH7FNuo3mcbC2W6oGrX0/dUOL5nEl98LGAdbXsNLPwq8uaDQhc8Fa74EirTZCVyrLIvwmwc7UIryOSGGGMthSgRaGDfejgT4xM01ItqU8dQkTJPrKol+bkXnf59TZhrnNWfNlsvxyoCQeZP6lz06t7g= 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 161530783950396.11820688645685; Tue, 9 Mar 2021 08:37:19 -0800 (PST) Received: from localhost ([::1]:59382 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lJfME-0004A5-Eo for importer@patchew.org; Tue, 09 Mar 2021 11:37:18 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:36920) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lJefY-0004fn-7q for qemu-devel@nongnu.org; Tue, 09 Mar 2021 10:53:12 -0500 Received: from mail-oi1-x22e.google.com ([2607:f8b0:4864:20::22e]:46789) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lJefW-0001CO-2x for qemu-devel@nongnu.org; Tue, 09 Mar 2021 10:53:11 -0500 Received: by mail-oi1-x22e.google.com with SMTP id f3so15386230oiw.13 for ; Tue, 09 Mar 2021 07:53:09 -0800 (PST) Received: from localhost.localdomain (fixed-187-189-51-144.totalplay.net. [187.189.51.144]) by smtp.gmail.com with ESMTPSA id b14sm2952539ooj.26.2021.03.09.07.53.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Mar 2021 07:53:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=1hAPjphDb7JdVH1DtHKU8lsgpgDqsKcv7jopV79CjZI=; b=eCmZkqmXhq0JQRYodrXdKzTsrDv4ke+pHdvpD0Rm6GmmCBJ22XF+M/l5v+3wZ/9M/n 3EoQAuuIjhSSK9dZB1le6ZhKt8PYH4ctL3IAFAxr8j86QrgtUe/ZvWlnWRIc+SxjoMgF py5ZegefUN57h/AR9BIlK0vj1BujA6s3fj1p8j1nxTKSYyzu/A0BB8lkrveeFNq2zfvK Tf0JqrrTg0Pl8iqSJGBMYzHXYMdy4IvKWmIKWyiMrVmkwCbzLblTu2Zh4eZwNJIvDXKU kek1L7y047NThnmZ2iURiJTguKJt2ZOMJI1xOg4cKldRqzV3UVMroYe/rKQFsVlOlXl5 WENQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=1hAPjphDb7JdVH1DtHKU8lsgpgDqsKcv7jopV79CjZI=; b=mjbZOhMrAD6C7jdujm9CKfH/r9gi+xXIkvBiJ1ih/tEXj+4p6coIbAwpYXI6MzzGC9 tgA8U9+aObl/HEbyaVeMfqHLIgsf6UMzLNTtvD682awgiplviu+DagV7HTOPAtIH+m/s 4gkUyJbGVQBfRYFPhDPU1DPUGhL2kscHYr7ktaDTnLnSy5kqdCFjqdpFEh5MlXA0Mx2F idIMiURIu1K5ADi1PLj01yhSXD3BdMFaV+nYRUXGcqvgg7gRU/hg7MjYBE3ixZhqH7gs yJao0AbYFSmsLz+birnsLFXwQI3NY46mvzLzXde6glZKwW8WpwhAmN1x7HmToAUMMVji bewA== X-Gm-Message-State: AOAM532yHXLkYFRouVJ0O603V6yr57MsKYqV2S1uqS/ifhl569yUTga6 JSFhNy1r/g6I0ABKxvZfqV8Tu5twtBFJtfcu X-Google-Smtp-Source: ABdhPJxirUUwwYaCdTJLEPWLQkAkR9dTv/SFxI0l/bSIhQDvAowMiEidhv73YyD39NrbW1knZx3n/g== X-Received: by 2002:aca:4e13:: with SMTP id c19mr3475624oib.40.1615305189002; Tue, 09 Mar 2021 07:53:09 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v4 1/8] target/arm: Fix sve_uzp_p vs odd vector lengths Date: Tue, 9 Mar 2021 07:52:58 -0800 Message-Id: <20210309155305.11301-2-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210309155305.11301-1-richard.henderson@linaro.org> References: <20210309155305.11301-1-richard.henderson@linaro.org> MIME-Version: 1.0 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=2607:f8b0:4864:20::22e; envelope-from=richard.henderson@linaro.org; helo=mail-oi1-x22e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, 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=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: Laurent Desnogues , peter.maydell@linaro.org, qemu-arm@nongnu.org, alex.bennee@linaro.org 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" Missed out on compressing the second half of a predicate with length vl % 512 > 256. Adjust all of the x + (y << s) to x | (y << s) as a general style fix. Drop the extract64 because the input uint64_t are known to be already zero-extended from the current size of the predicate. Reported-by: Laurent Desnogues Signed-off-by: Richard Henderson --- target/arm/sve_helper.c | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/target/arm/sve_helper.c b/target/arm/sve_helper.c index 844db08bd5..11c9397dbb 100644 --- a/target/arm/sve_helper.c +++ b/target/arm/sve_helper.c @@ -1939,7 +1939,7 @@ void HELPER(sve_uzp_p)(void *vd, void *vn, void *vm, = uint32_t pred_desc) if (oprsz <=3D 8) { l =3D compress_bits(n[0] >> odd, esz); h =3D compress_bits(m[0] >> odd, esz); - d[0] =3D extract64(l + (h << (4 * oprsz)), 0, 8 * oprsz); + d[0] =3D l | (h << (4 * oprsz)); } else { ARMPredicateReg tmp_m; intptr_t oprsz_16 =3D oprsz / 16; @@ -1953,23 +1953,35 @@ void HELPER(sve_uzp_p)(void *vd, void *vn, void *vm= , uint32_t pred_desc) h =3D n[2 * i + 1]; l =3D compress_bits(l >> odd, esz); h =3D compress_bits(h >> odd, esz); - d[i] =3D l + (h << 32); + d[i] =3D l | (h << 32); } =20 - /* For VL which is not a power of 2, the results from M do not - align nicely with the uint64_t for D. Put the aligned results - from M into TMP_M and then copy it into place afterward. */ + /* + * For VL which is not a multiple of 512, the results from M do not + * align nicely with the uint64_t for D. Put the aligned results + * from M into TMP_M and then copy it into place afterward. + */ if (oprsz & 15) { - d[i] =3D compress_bits(n[2 * i] >> odd, esz); + int final_shift =3D (oprsz & 15) * 2; + + l =3D n[2 * i + 0]; + h =3D n[2 * i + 1]; + l =3D compress_bits(l >> odd, esz); + h =3D compress_bits(h >> odd, esz); + d[i] =3D l | (h << final_shift); =20 for (i =3D 0; i < oprsz_16; i++) { l =3D m[2 * i + 0]; h =3D m[2 * i + 1]; l =3D compress_bits(l >> odd, esz); h =3D compress_bits(h >> odd, esz); - tmp_m.p[i] =3D l + (h << 32); + tmp_m.p[i] =3D l | (h << 32); } - tmp_m.p[i] =3D compress_bits(m[2 * i] >> odd, esz); + l =3D m[2 * i + 0]; + h =3D m[2 * i + 1]; + l =3D compress_bits(l >> odd, esz); + h =3D compress_bits(h >> odd, esz); + tmp_m.p[i] =3D l | (h << final_shift); =20 swap_memmove(vd + oprsz / 2, &tmp_m, oprsz / 2); } else { @@ -1978,7 +1990,7 @@ void HELPER(sve_uzp_p)(void *vd, void *vn, void *vm, = uint32_t pred_desc) h =3D m[2 * i + 1]; l =3D compress_bits(l >> odd, esz); h =3D compress_bits(h >> odd, esz); - d[oprsz_16 + i] =3D l + (h << 32); + d[oprsz_16 + i] =3D l | (h << 32); } } } --=20 2.25.1 From nobody Wed Nov 19 07:02:43 2025 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=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1615307112; cv=none; d=zohomail.com; s=zohoarc; b=eXnpgXp8QWVmv7u9OGVHKgPPQIeYEN7zBc84KriKwoaj77PBtjovlgThnZONYUkgKIJIxTKKKy8pFrRf150fIO3QgdPK0SbVQg2FT7796iDDiZTcG3WK+VvQtwMI9khpow9PtWO9MJe3XecBAo3/6aNPZhA/d0F0H7PVJcbdEtM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1615307112; h=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=K8m+kPJrwSHSgZI1ZsSaQYwfuJiZGGIkk+6qenqcdxQ=; b=ExBDVoAvWEdMIt+ezuqVrH9ZxdJaTxxntxWTIMtT1G2w9JSb1qjh7pUggqg+oWmOhhRNUGK9F0PgaXOPN1GO7/Xqjqm3mZjzJ4o9lpkqphj4oI4ixXbs+ySRrJSq7j+O0l+VJczEDvCDiWass+L6VbMPGiuy205j7EqDjXTgeyE= 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 1615307112221292.21219275776673; Tue, 9 Mar 2021 08:25:12 -0800 (PST) Received: from localhost ([::1]:35960 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lJfAV-0001ru-72 for importer@patchew.org; Tue, 09 Mar 2021 11:25:11 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:36952) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lJefZ-0004he-15 for qemu-devel@nongnu.org; Tue, 09 Mar 2021 10:53:13 -0500 Received: from mail-oo1-xc29.google.com ([2607:f8b0:4864:20::c29]:33146) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lJefX-0001Dg-6w for qemu-devel@nongnu.org; Tue, 09 Mar 2021 10:53:12 -0500 Received: by mail-oo1-xc29.google.com with SMTP id z22so3154595oop.0 for ; Tue, 09 Mar 2021 07:53:10 -0800 (PST) Received: from localhost.localdomain (fixed-187-189-51-144.totalplay.net. [187.189.51.144]) by smtp.gmail.com with ESMTPSA id b14sm2952539ooj.26.2021.03.09.07.53.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Mar 2021 07:53:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=K8m+kPJrwSHSgZI1ZsSaQYwfuJiZGGIkk+6qenqcdxQ=; b=DVBatS4uHOEePkc1+sb5+culBSF0ivazk2U8JOPBUicIKJvPooaMM6CxmqOzlwp75S oW+yETusDI0Y2DS8Qe8RgkwixqhwI3g5tgCbZYbsgcXip5W6O+qqX3BlII9Gc6dydHiS 72G2QcVxhlBY5Z1LAr8P9AebGc4gJ7KonsZZckG1t4vFoA2GMZy+x/891PzA+bge9lKz Vn85W5xbmwxpD0ArFtRCpXUqve2+7L5mcadWHIgZS4dPVl1gLjSlg0+VcBsiHe9VMAWp kuo6QNn9BTO3P2IvvSWRFb9uFtW68i67oZJfYhH58dctwwrtIdw1DUZkX0lT9LZqiQgA jLDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=K8m+kPJrwSHSgZI1ZsSaQYwfuJiZGGIkk+6qenqcdxQ=; b=B40depC2g/pcy2e3rnUuuIyl5s+ntmjntB4pEMcj+uG4JQ8dfBD5MfEWHUlcah48M6 RVwIfYynNwO2hAS6W4tAs1q6+6RidTgkemJ2o+N6aFHXWVnPD4MGyme8OgC80h2C2hYm Ynn0nYzN42uBbWmsBiTQ1nbRQAihrmeQnyXzDhHI7GdAj7lCXZzEtlhD/I47GDEgyOAp xyiMGzpqWozD3JrRTiVPG5hCUbuO2tXrRgxj1Fm3XfcoQVs6HIrmepKwK4YWLcl/Go3i UH+PgEy2ffVyweI5d6myMCuQoRCn2Q7Qwg1NePIg+8iX4bQ2klNuwd9vFQigheQbAqIj ELpQ== X-Gm-Message-State: AOAM531cThjX/tVYGH1rFjyKPIOcKTmKZwRQ8eWNynXUdeiN05VOjOPe zSpxEI/XtpeZUJAs1LO2EgHmcIsABx/WHlcW X-Google-Smtp-Source: ABdhPJxFi0ukYcer/RbdE5lGgMaqJFAOyVcJ0hPiTENlRr/XsD9rR2WZfYKMIx6v8uzfpNr51Wirxw== X-Received: by 2002:a4a:d2cc:: with SMTP id j12mr22689288oos.56.1615305190198; Tue, 09 Mar 2021 07:53:10 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v4 2/8] target/arm: Fix sve_zip_p vs odd vector lengths Date: Tue, 9 Mar 2021 07:52:59 -0800 Message-Id: <20210309155305.11301-3-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210309155305.11301-1-richard.henderson@linaro.org> References: <20210309155305.11301-1-richard.henderson@linaro.org> MIME-Version: 1.0 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=2607:f8b0:4864:20::c29; envelope-from=richard.henderson@linaro.org; helo=mail-oo1-xc29.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, 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=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: Laurent Desnogues , peter.maydell@linaro.org, qemu-arm@nongnu.org, alex.bennee@linaro.org 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" Wrote too much with low-half zip (zip1) with vl % 512 !=3D 0. Adjust all of the x + (y << s) to x | (y << s) as a style fix. We only ever have exact overlap between D, M, and N. Therefore we only need a single temporary, and we do not need to check for partial overlap. Reported-by: Laurent Desnogues Signed-off-by: Richard Henderson --- target/arm/sve_helper.c | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/target/arm/sve_helper.c b/target/arm/sve_helper.c index 11c9397dbb..2fb4b2c1ea 100644 --- a/target/arm/sve_helper.c +++ b/target/arm/sve_helper.c @@ -1871,6 +1871,7 @@ void HELPER(sve_zip_p)(void *vd, void *vn, void *vm, = uint32_t pred_desc) intptr_t oprsz =3D FIELD_EX32(pred_desc, PREDDESC, OPRSZ); int esz =3D FIELD_EX32(pred_desc, PREDDESC, ESZ); intptr_t high =3D FIELD_EX32(pred_desc, PREDDESC, DATA); + int esize =3D 1 << esz; uint64_t *d =3D vd; intptr_t i; =20 @@ -1883,33 +1884,35 @@ void HELPER(sve_zip_p)(void *vd, void *vn, void *vm= , uint32_t pred_desc) mm =3D extract64(mm, high * half, half); nn =3D expand_bits(nn, esz); mm =3D expand_bits(mm, esz); - d[0] =3D nn + (mm << (1 << esz)); + d[0] =3D nn | (mm << esize); } else { - ARMPredicateReg tmp_n, tmp_m; + ARMPredicateReg tmp; =20 /* We produce output faster than we consume input. Therefore we must be mindful of possible overlap. */ - if ((vn - vd) < (uintptr_t)oprsz) { - vn =3D memcpy(&tmp_n, vn, oprsz); - } - if ((vm - vd) < (uintptr_t)oprsz) { - vm =3D memcpy(&tmp_m, vm, oprsz); + if (vd =3D=3D vn) { + vn =3D memcpy(&tmp, vn, oprsz); + if (vd =3D=3D vm) { + vm =3D vn; + } + } else if (vd =3D=3D vm) { + vm =3D memcpy(&tmp, vm, oprsz); } if (high) { high =3D oprsz >> 1; } =20 - if ((high & 3) =3D=3D 0) { + if ((oprsz & 7) =3D=3D 0) { uint32_t *n =3D vn, *m =3D vm; high >>=3D 2; =20 - for (i =3D 0; i < DIV_ROUND_UP(oprsz, 8); i++) { + for (i =3D 0; i < oprsz / 8; i++) { uint64_t nn =3D n[H4(high + i)]; uint64_t mm =3D m[H4(high + i)]; =20 nn =3D expand_bits(nn, esz); mm =3D expand_bits(mm, esz); - d[i] =3D nn + (mm << (1 << esz)); + d[i] =3D nn | (mm << esize); } } else { uint8_t *n =3D vn, *m =3D vm; @@ -1921,7 +1924,7 @@ void HELPER(sve_zip_p)(void *vd, void *vn, void *vm, = uint32_t pred_desc) =20 nn =3D expand_bits(nn, esz); mm =3D expand_bits(mm, esz); - d16[H2(i)] =3D nn + (mm << (1 << esz)); + d16[H2(i)] =3D nn | (mm << esize); } } } --=20 2.25.1 From nobody Wed Nov 19 07:02:43 2025 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=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1615307389; cv=none; d=zohomail.com; s=zohoarc; b=Y66S6af/MqUqStf8/R6s5NhS5aNJF7rs6D8NNPppzCNHBRjDRKGeh9nIqTSmw/ihOpDoOSv1N46bcU26qMTYiqI8QRWVa/1d8vwJ2pcakNK14JgR12n0lgjHeffuFqptUTgXm43X0ozgUNDPAR1xcwRSTigdSpnqdptr2xVCLQg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1615307389; h=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=JqBHCmuWPtc8j+9KLqwTqisgKUnIBVTxV3C6VerPLaI=; b=UpBcks0Jd6YYI5NSasl3XrMrKszYHD+r6NFbnqXnh8IZsILSbbx9WKOH/hU6RHYrDhNdCbjUnMa69+YqmI2xsc1XHQJbLzPSd0ULOWqAUdhOv4FWNRy3uE6+Q/86JL7Yeo2u3MUvB//aNFoVJjnOCs2r+HS/bYESU+cosTqgHhI= 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 1615307389917874.1660067975376; Tue, 9 Mar 2021 08:29:49 -0800 (PST) Received: from localhost ([::1]:45498 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lJfEy-0006AH-OS for importer@patchew.org; Tue, 09 Mar 2021 11:29:48 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:36982) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lJefa-0004ka-9U for qemu-devel@nongnu.org; Tue, 09 Mar 2021 10:53:14 -0500 Received: from mail-oi1-x235.google.com ([2607:f8b0:4864:20::235]:39223) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lJefY-0001Dz-IK for qemu-devel@nongnu.org; Tue, 09 Mar 2021 10:53:13 -0500 Received: by mail-oi1-x235.google.com with SMTP id z126so15418314oiz.6 for ; Tue, 09 Mar 2021 07:53:12 -0800 (PST) Received: from localhost.localdomain (fixed-187-189-51-144.totalplay.net. [187.189.51.144]) by smtp.gmail.com with ESMTPSA id b14sm2952539ooj.26.2021.03.09.07.53.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Mar 2021 07:53:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=JqBHCmuWPtc8j+9KLqwTqisgKUnIBVTxV3C6VerPLaI=; b=yOofloXz+lpOjmIomS/aMNxj/RYT7/R3cuyg9Rg9caoUaqo2rCaI0fSjoqkf3xAdTu wIUG92C24jdCTJB8WlgiwSaSTqJYFNGmoXvUVwQp+4d9GldrKbmNLheEurgGwF806xSQ wcuNxRYolka6+j4hsIeQChszknwZj4IoDT7x6r2ulOqVnmWgXaSsgoMteTuaFHja0NRH bRgYs9hHyddIIadjnwBbY8siYzpnkK/rdvRenOBWCbf06L9ZlhPgl6DQUh9cXXbWcfLc EcgJRfTngoyceoSLQyLiI1yYZIbM95ZsZ1ksCCqRLA/yZ0VIuNSlLBz6BH1WI/YbhbBQ DJwg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=JqBHCmuWPtc8j+9KLqwTqisgKUnIBVTxV3C6VerPLaI=; b=bXrNnsI/x9/R2s14qjjne/JZ9LHuWQpiOqrAjgSX48CQbwyw/gXT65SqcIBh0h/dmK DgODjciCn57LKE+t65wXRx5lxmQKYkc7jyQ7fVTLmTKCpiNF8GaE8F0T19K6+4AFuQlN RD0pS+6q68UzM0A4slu8xhiBhVdo5AGUL2T1XcTMB/RrHgnPPQnqhgTfi7samkv2VFD/ uSUAKXedQ0tXU+sFlaxvSzdawgtas67HWSGk68Ays9Bfh6ML4Y0+BAJrQoOWIiarkLvA eBdoUZsLPV/tcChOpclTmHprUabSmvjkl42Y/tqBSl35ltPUgbYPsTSGBIqAW4ZlbWqF ITsg== X-Gm-Message-State: AOAM5317csuevMU1US3Mf/0QYPIiH3S1XmZstbffDn/QkZCamjavGyoc rcK8C9G4R139CrSWHKuYVcDt9qrqo41NdYmx X-Google-Smtp-Source: ABdhPJzNIaIDIlHoHxOaQRRJekM6GLSz/zXEUp5GEvqRyanArl6dwZWgiKWVMiRQsYmgf6CEm6LlEA== X-Received: by 2002:a05:6808:128f:: with SMTP id a15mr3340981oiw.143.1615305191423; Tue, 09 Mar 2021 07:53:11 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v4 3/8] target/arm: Fix sve_punpk_p vs odd vector lengths Date: Tue, 9 Mar 2021 07:53:00 -0800 Message-Id: <20210309155305.11301-4-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210309155305.11301-1-richard.henderson@linaro.org> References: <20210309155305.11301-1-richard.henderson@linaro.org> MIME-Version: 1.0 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=2607:f8b0:4864:20::235; envelope-from=richard.henderson@linaro.org; helo=mail-oi1-x235.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, 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: Laurent Desnogues , peter.maydell@linaro.org, qemu-arm@nongnu.org, alex.bennee@linaro.org 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" Wrote too much with punpk1 with vl % 512 !=3D 0. Reviewed-by: Peter Maydell Reported-by: Laurent Desnogues Signed-off-by: Richard Henderson --- target/arm/sve_helper.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/target/arm/sve_helper.c b/target/arm/sve_helper.c index 2fb4b2c1ea..981895a17c 100644 --- a/target/arm/sve_helper.c +++ b/target/arm/sve_helper.c @@ -2105,11 +2105,11 @@ void HELPER(sve_punpk_p)(void *vd, void *vn, uint32= _t pred_desc) high =3D oprsz >> 1; } =20 - if ((high & 3) =3D=3D 0) { + if ((oprsz & 7) =3D=3D 0) { uint32_t *n =3D vn; high >>=3D 2; =20 - for (i =3D 0; i < DIV_ROUND_UP(oprsz, 8); i++) { + for (i =3D 0; i < oprsz / 8; i++) { uint64_t nn =3D n[H4(high + i)]; d[i] =3D expand_bits(nn, 0); } --=20 2.25.1 From nobody Wed Nov 19 07:02:43 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1615307669; cv=none; d=zohomail.com; s=zohoarc; b=aysrvhlhBwH6QvH4a3litF7rbjg+AdHDEj0CkEna0mQGMnCyZcHfUwwN1Y9Sk/0UOj3U+1XCtVxpUoUKBpLCcMjirwWgkLvHD/acBKsd81pk5oUn+5YT3fl+ozB9Z0GHLwuk09P0WZ7yZRoGzcMpOyfz+99Sa9DPGuFjbQf6QRA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1615307669; h=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=fn7JFzlpxJDHE/tSppCZQRf4vgj66IW9pBItwWFchwo=; b=DLXD7TdAugKB1ZJNjT1aBnbquNO520EJmohnZRLYGGME76p/Y6ZBXP5q3ejUgcGoNNxhHfc00x+JM1YTDzPOHicrG3d4WdjLkcvR4vj+BfsLRk6sbkl9MOe4kKChXaWumbMvqNVxqWlQhyvO6/sMfyyHeZZTgQzVSzCJZUFf6FA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass 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 161530766981082.52492802433744; Tue, 9 Mar 2021 08:34:29 -0800 (PST) Received: from localhost ([::1]:54016 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lJfJU-0001i6-LK for importer@patchew.org; Tue, 09 Mar 2021 11:34:28 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:37026) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lJefc-0004pF-1W for qemu-devel@nongnu.org; Tue, 09 Mar 2021 10:53:16 -0500 Received: from mail-oi1-x234.google.com ([2607:f8b0:4864:20::234]:36984) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lJefZ-0001EP-IZ for qemu-devel@nongnu.org; Tue, 09 Mar 2021 10:53:15 -0500 Received: by mail-oi1-x234.google.com with SMTP id u198so10471317oia.4 for ; Tue, 09 Mar 2021 07:53:13 -0800 (PST) Received: from localhost.localdomain (fixed-187-189-51-144.totalplay.net. [187.189.51.144]) by smtp.gmail.com with ESMTPSA id b14sm2952539ooj.26.2021.03.09.07.53.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Mar 2021 07:53:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=fn7JFzlpxJDHE/tSppCZQRf4vgj66IW9pBItwWFchwo=; b=p4hX0qCTFxOOwJM62HuHkgnmsY80aAwzez3f5QmrBkJvHJcyBnW3OZVWMEAGI3iKuY ZsqoY9c09tdozB+0vIhulRABjYtVk+QcxlWdCTea7j9VQVBorxKAo+uoDQXAKmyYs6Tw 7Z4PWt1TTlGe8oRifiJoaBCste59LiI/mgiRqn80yH7vJ8lwF63764oOERhjJoUu70fL rXWtlMjiXUUpi7DKJYSamTP3ArM5u+ntSFeSs3vNj2TuxcqE8EsN1yXhgnnTtNFGOIDK ZQt9qRbGyg+5PTW81Ty7zbTHjdXy/o6N/2ejO2I+QLWhsKZ6zYAtaHAGboA6UblcTH2z ym8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=fn7JFzlpxJDHE/tSppCZQRf4vgj66IW9pBItwWFchwo=; b=d6y2BsGO5ShKD9UFaN9bT4NoX6142TszNRjbpeNRCNsxGLq4vi3hhY2+Tnh6AM/QQA /jdrj12Lg9owUrvDD60hcGrx7QBgwEIFXolE/S3R4i7hIzBb9pftT52To72HcakPA0RA jaTNBonq5QvO7eEGCSb66KDP+eFv1uB8jqlu/huUHaqDhXBwW8OMzdX6D6Cd0gCys7LZ 3JCKJCVame92MmczwfJzx9KQUDcmPy7YyawGT0mY9JO/02ytweseWCknPd859wbeWjzQ IWsXqbRyATgmIMQeyCtayN1mEpMLSuvrFPP9rYkYb/jo8vOn/0Y6cNH6QFyf8U73Hdih hP2A== X-Gm-Message-State: AOAM530+1WHW5EtG/qjU7bsxV9Hu8RasG5urzKT890hacy4KFvZ79Lch lFzggJFj0DcCL8JE8RjRPkULEGz9mEg66nbt X-Google-Smtp-Source: ABdhPJx10whY1aelml2lhqnysuuAV03Mfo44j4ftun5M6NREQrLaFzoXAuLLkDBq4+Y/mJcnV17osA== X-Received: by 2002:aca:f597:: with SMTP id t145mr3397980oih.121.1615305192538; Tue, 09 Mar 2021 07:53:12 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v4 4/8] target/arm: Update find_last_active for PREDDESC Date: Tue, 9 Mar 2021 07:53:01 -0800 Message-Id: <20210309155305.11301-5-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210309155305.11301-1-richard.henderson@linaro.org> References: <20210309155305.11301-1-richard.henderson@linaro.org> MIME-Version: 1.0 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=2607:f8b0:4864:20::234; envelope-from=richard.henderson@linaro.org; helo=mail-oi1-x234.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, 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: peter.maydell@linaro.org, qemu-arm@nongnu.org, alex.bennee@linaro.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Content-Type: text/plain; charset="utf-8" Since b64ee454a4a0, all predicate operations should be using these field macros for predicates. Signed-off-by: Richard Henderson --- target/arm/sve_helper.c | 6 +++--- target/arm/translate-sve.c | 7 +++---- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/target/arm/sve_helper.c b/target/arm/sve_helper.c index 981895a17c..224c767944 100644 --- a/target/arm/sve_helper.c +++ b/target/arm/sve_helper.c @@ -2237,10 +2237,10 @@ void HELPER(sve_compact_d)(void *vd, void *vn, void= *vg, uint32_t desc) */ int32_t HELPER(sve_last_active_element)(void *vg, uint32_t pred_desc) { - intptr_t oprsz =3D extract32(pred_desc, 0, SIMD_OPRSZ_BITS) + 2; - intptr_t esz =3D extract32(pred_desc, SIMD_DATA_SHIFT, 2); + intptr_t words =3D DIV_ROUND_UP(FIELD_EX32(pred_desc, PREDDESC, OPRSZ)= , 8); + intptr_t esz =3D FIELD_EX32(pred_desc, PREDDESC, ESZ); =20 - return last_active_element(vg, DIV_ROUND_UP(oprsz, 8), esz); + return last_active_element(vg, words, esz); } =20 void HELPER(sve_splice)(void *vd, void *vn, void *vm, void *vg, uint32_t d= esc) diff --git a/target/arm/translate-sve.c b/target/arm/translate-sve.c index 27402af23c..cac8082156 100644 --- a/target/arm/translate-sve.c +++ b/target/arm/translate-sve.c @@ -2302,11 +2302,10 @@ static void find_last_active(DisasContext *s, TCGv_= i32 ret, int esz, int pg) */ TCGv_ptr t_p =3D tcg_temp_new_ptr(); TCGv_i32 t_desc; - unsigned vsz =3D pred_full_reg_size(s); - unsigned desc; + unsigned desc =3D 0; =20 - desc =3D vsz - 2; - desc =3D deposit32(desc, SIMD_DATA_SHIFT, 2, esz); + desc =3D FIELD_DP32(desc, PREDDESC, OPRSZ, pred_full_reg_size(s)); + desc =3D FIELD_DP32(desc, PREDDESC, ESZ, esz); =20 tcg_gen_addi_ptr(t_p, cpu_env, pred_full_reg_offset(s, pg)); t_desc =3D tcg_const_i32(desc); --=20 2.25.1 From nobody Wed Nov 19 07:02:43 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1615308146; cv=none; d=zohomail.com; s=zohoarc; b=WyZyspC17vrsl3RDtgXSWAwp+uZ7Xx0LGoN5T+VBbkYJDV0krnzlTVu5pnyzkPOwJhd1sLAdDZjZTf8qbGTfTY9uFKRokS+ZWjfSxqLs/BzfbGzKwLQbqrRUyCftivut6IMLlENBY2Wtocv2tKA8WkxbAyujchBrB7S4j5qCLX0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1615308146; h=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=IUswOVHmPjwO24MveU3hkPJismX650bXSG+gRkRnCa0=; b=jcIpf6waN5cBc6Ms1n1JQ6/wl2dWSNtmvcGh+waMzlfRDJJBp4JthFcHny949LbLlci6onUDHecryPs2CVxYE9MP+2mASGfA/jcm2/COntO0ZWRjbPSMMg5KRbEOUbF/qzbyRagUA9mtQbWS5fdhsPhXmTTUEnMzYw4BgrHCg5Y= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass 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 1615308146509419.46443395295387; Tue, 9 Mar 2021 08:42:26 -0800 (PST) Received: from localhost ([::1]:44164 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lJfRB-0001JC-Fy for importer@patchew.org; Tue, 09 Mar 2021 11:42:25 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:37066) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lJefd-0004tp-SZ for qemu-devel@nongnu.org; Tue, 09 Mar 2021 10:53:17 -0500 Received: from mail-ot1-x32b.google.com ([2607:f8b0:4864:20::32b]:34495) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lJefa-0001Fl-M0 for qemu-devel@nongnu.org; Tue, 09 Mar 2021 10:53:17 -0500 Received: by mail-ot1-x32b.google.com with SMTP id n23so7630556otq.1 for ; Tue, 09 Mar 2021 07:53:14 -0800 (PST) Received: from localhost.localdomain (fixed-187-189-51-144.totalplay.net. [187.189.51.144]) by smtp.gmail.com with ESMTPSA id b14sm2952539ooj.26.2021.03.09.07.53.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Mar 2021 07:53:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=IUswOVHmPjwO24MveU3hkPJismX650bXSG+gRkRnCa0=; b=OyUjvzFU9zJ6OB/wTdFdcfACo8xGqg7O8WqTG1x4O/06XPlKKRShU0jqpmfk7TAz+S LwNqUgAm8mO+9xz6eAQyOCvxwjZX6xlX4jFBqR3WK78RV+S5Mez5xahEsQ+ch2BVb5Tj JxEBqqHxH+vA+50vzFFuPEgBb+A4Qu8cbKW+GB7iOeSJxhRv3S6Ib6qiN7rSZEmLsmrB PAUD80yJNM9g4+LEGpCADx9f37q8A/w0Yzb4GP5JVT6tjhBT05jr2YmbZ+5Bj9qBV/dp WHTkcjRlmMuYp+GQZsyBgfyB47zcGzXY/rk40+t634SCBepKolSJOFWnRIg8/tOI3/Qn co0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=IUswOVHmPjwO24MveU3hkPJismX650bXSG+gRkRnCa0=; b=Bk/0qqPas/QArm96KeILH25QtLHUyhCZHovSOrdlEYUcP1YHN1OzkCGXKvynhjLiLk boNtZBxy51Q806EhLM8bg5/VMCzVyzBYkeFhwdMgHgGc0/14BgFLfp/kSWf7RE71PTne H5XJgwpXBwem7KiUWpsnOdm2Huxf14UhI31W1PH/inzZipfIfzaOXJpxJjgUc8tdCJYM 4Mgb+u8cVGhhVS27qpz2PuTHj0qwxvCs2zdfwhiSEjTLfrNTKKHdBRv8FMyWc/JNrMzN xtE1I5SUughy/KUqRgD1SpdYFk4upb3vSXNWw+Lr/LG4Byg4kke6AsKVQT9GaxnyAJb1 /TEQ== X-Gm-Message-State: AOAM532kD+bGjwRhrALHzfKg7sEkUmiDB/soEZxJfAtHwv1oBCQAetIl Px11WDYNj4X+UVdXg8vVqPpl4PaRBttv3E6E X-Google-Smtp-Source: ABdhPJzfpNLT72v1CjaUU870e9bAN7x8QTC/HjaUr+sBNn6kG7ma8/ikOd+70FWhWk8hFLWt9mHv4w== X-Received: by 2002:a05:6830:4109:: with SMTP id w9mr24786851ott.176.1615305193475; Tue, 09 Mar 2021 07:53:13 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v4 5/8] target/arm: Update BRKA, BRKB, BRKN for PREDDESC Date: Tue, 9 Mar 2021 07:53:02 -0800 Message-Id: <20210309155305.11301-6-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210309155305.11301-1-richard.henderson@linaro.org> References: <20210309155305.11301-1-richard.henderson@linaro.org> MIME-Version: 1.0 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=2607:f8b0:4864:20::32b; envelope-from=richard.henderson@linaro.org; helo=mail-ot1-x32b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, 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=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: peter.maydell@linaro.org, qemu-arm@nongnu.org, alex.bennee@linaro.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Content-Type: text/plain; charset="utf-8" Since b64ee454a4a0, all predicate operations should be using these field macros for predicates. Signed-off-by: Richard Henderson --- target/arm/sve_helper.c | 30 ++++++++++++++---------------- target/arm/translate-sve.c | 4 ++-- 2 files changed, 16 insertions(+), 18 deletions(-) diff --git a/target/arm/sve_helper.c b/target/arm/sve_helper.c index 224c767944..8e0a5d30a5 100644 --- a/target/arm/sve_helper.c +++ b/target/arm/sve_helper.c @@ -2710,7 +2710,7 @@ static uint32_t do_zero(ARMPredicateReg *d, intptr_t = oprsz) void HELPER(sve_brkpa)(void *vd, void *vn, void *vm, void *vg, uint32_t pred_desc) { - intptr_t oprsz =3D extract32(pred_desc, 0, SIMD_OPRSZ_BITS) + 2; + intptr_t oprsz =3D FIELD_EX32(pred_desc, PREDDESC, OPRSZ); if (last_active_pred(vn, vg, oprsz)) { compute_brk_z(vd, vm, vg, oprsz, true); } else { @@ -2721,7 +2721,7 @@ void HELPER(sve_brkpa)(void *vd, void *vn, void *vm, = void *vg, uint32_t HELPER(sve_brkpas)(void *vd, void *vn, void *vm, void *vg, uint32_t pred_desc) { - intptr_t oprsz =3D extract32(pred_desc, 0, SIMD_OPRSZ_BITS) + 2; + intptr_t oprsz =3D FIELD_EX32(pred_desc, PREDDESC, OPRSZ); if (last_active_pred(vn, vg, oprsz)) { return compute_brks_z(vd, vm, vg, oprsz, true); } else { @@ -2732,7 +2732,7 @@ uint32_t HELPER(sve_brkpas)(void *vd, void *vn, void = *vm, void *vg, void HELPER(sve_brkpb)(void *vd, void *vn, void *vm, void *vg, uint32_t pred_desc) { - intptr_t oprsz =3D extract32(pred_desc, 0, SIMD_OPRSZ_BITS) + 2; + intptr_t oprsz =3D FIELD_EX32(pred_desc, PREDDESC, OPRSZ); if (last_active_pred(vn, vg, oprsz)) { compute_brk_z(vd, vm, vg, oprsz, false); } else { @@ -2743,7 +2743,7 @@ void HELPER(sve_brkpb)(void *vd, void *vn, void *vm, = void *vg, uint32_t HELPER(sve_brkpbs)(void *vd, void *vn, void *vm, void *vg, uint32_t pred_desc) { - intptr_t oprsz =3D extract32(pred_desc, 0, SIMD_OPRSZ_BITS) + 2; + intptr_t oprsz =3D FIELD_EX32(pred_desc, PREDDESC, OPRSZ); if (last_active_pred(vn, vg, oprsz)) { return compute_brks_z(vd, vm, vg, oprsz, false); } else { @@ -2753,56 +2753,55 @@ uint32_t HELPER(sve_brkpbs)(void *vd, void *vn, voi= d *vm, void *vg, =20 void HELPER(sve_brka_z)(void *vd, void *vn, void *vg, uint32_t pred_desc) { - intptr_t oprsz =3D extract32(pred_desc, 0, SIMD_OPRSZ_BITS) + 2; + intptr_t oprsz =3D FIELD_EX32(pred_desc, PREDDESC, OPRSZ); compute_brk_z(vd, vn, vg, oprsz, true); } =20 uint32_t HELPER(sve_brkas_z)(void *vd, void *vn, void *vg, uint32_t pred_d= esc) { - intptr_t oprsz =3D extract32(pred_desc, 0, SIMD_OPRSZ_BITS) + 2; + intptr_t oprsz =3D FIELD_EX32(pred_desc, PREDDESC, OPRSZ); return compute_brks_z(vd, vn, vg, oprsz, true); } =20 void HELPER(sve_brkb_z)(void *vd, void *vn, void *vg, uint32_t pred_desc) { - intptr_t oprsz =3D extract32(pred_desc, 0, SIMD_OPRSZ_BITS) + 2; + intptr_t oprsz =3D FIELD_EX32(pred_desc, PREDDESC, OPRSZ); compute_brk_z(vd, vn, vg, oprsz, false); } =20 uint32_t HELPER(sve_brkbs_z)(void *vd, void *vn, void *vg, uint32_t pred_d= esc) { - intptr_t oprsz =3D extract32(pred_desc, 0, SIMD_OPRSZ_BITS) + 2; + intptr_t oprsz =3D FIELD_EX32(pred_desc, PREDDESC, OPRSZ); return compute_brks_z(vd, vn, vg, oprsz, false); } =20 void HELPER(sve_brka_m)(void *vd, void *vn, void *vg, uint32_t pred_desc) { - intptr_t oprsz =3D extract32(pred_desc, 0, SIMD_OPRSZ_BITS) + 2; + intptr_t oprsz =3D FIELD_EX32(pred_desc, PREDDESC, OPRSZ); compute_brk_m(vd, vn, vg, oprsz, true); } =20 uint32_t HELPER(sve_brkas_m)(void *vd, void *vn, void *vg, uint32_t pred_d= esc) { - intptr_t oprsz =3D extract32(pred_desc, 0, SIMD_OPRSZ_BITS) + 2; + intptr_t oprsz =3D FIELD_EX32(pred_desc, PREDDESC, OPRSZ); return compute_brks_m(vd, vn, vg, oprsz, true); } =20 void HELPER(sve_brkb_m)(void *vd, void *vn, void *vg, uint32_t pred_desc) { - intptr_t oprsz =3D extract32(pred_desc, 0, SIMD_OPRSZ_BITS) + 2; + intptr_t oprsz =3D FIELD_EX32(pred_desc, PREDDESC, OPRSZ); compute_brk_m(vd, vn, vg, oprsz, false); } =20 uint32_t HELPER(sve_brkbs_m)(void *vd, void *vn, void *vg, uint32_t pred_d= esc) { - intptr_t oprsz =3D extract32(pred_desc, 0, SIMD_OPRSZ_BITS) + 2; + intptr_t oprsz =3D FIELD_EX32(pred_desc, PREDDESC, OPRSZ); return compute_brks_m(vd, vn, vg, oprsz, false); } =20 void HELPER(sve_brkn)(void *vd, void *vn, void *vg, uint32_t pred_desc) { - intptr_t oprsz =3D extract32(pred_desc, 0, SIMD_OPRSZ_BITS) + 2; - + intptr_t oprsz =3D FIELD_EX32(pred_desc, PREDDESC, OPRSZ); if (!last_active_pred(vn, vg, oprsz)) { do_zero(vd, oprsz); } @@ -2827,8 +2826,7 @@ static uint32_t predtest_ones(ARMPredicateReg *d, int= ptr_t oprsz, =20 uint32_t HELPER(sve_brkns)(void *vd, void *vn, void *vg, uint32_t pred_des= c) { - intptr_t oprsz =3D extract32(pred_desc, 0, SIMD_OPRSZ_BITS) + 2; - + intptr_t oprsz =3D FIELD_EX32(pred_desc, PREDDESC, OPRSZ); if (last_active_pred(vn, vg, oprsz)) { return predtest_ones(vd, oprsz, -1); } else { diff --git a/target/arm/translate-sve.c b/target/arm/translate-sve.c index cac8082156..c0212e6b08 100644 --- a/target/arm/translate-sve.c +++ b/target/arm/translate-sve.c @@ -2850,7 +2850,7 @@ static bool do_brk3(DisasContext *s, arg_rprr_s *a, TCGv_ptr n =3D tcg_temp_new_ptr(); TCGv_ptr m =3D tcg_temp_new_ptr(); TCGv_ptr g =3D tcg_temp_new_ptr(); - TCGv_i32 t =3D tcg_const_i32(vsz - 2); + TCGv_i32 t =3D tcg_const_i32(FIELD_DP32(0, PREDDESC, OPRSZ, vsz)); =20 tcg_gen_addi_ptr(d, cpu_env, pred_full_reg_offset(s, a->rd)); tcg_gen_addi_ptr(n, cpu_env, pred_full_reg_offset(s, a->rn)); @@ -2884,7 +2884,7 @@ static bool do_brk2(DisasContext *s, arg_rpr_s *a, TCGv_ptr d =3D tcg_temp_new_ptr(); TCGv_ptr n =3D tcg_temp_new_ptr(); TCGv_ptr g =3D tcg_temp_new_ptr(); - TCGv_i32 t =3D tcg_const_i32(vsz - 2); + TCGv_i32 t =3D tcg_const_i32(FIELD_DP32(0, PREDDESC, OPRSZ, vsz)); =20 tcg_gen_addi_ptr(d, cpu_env, pred_full_reg_offset(s, a->rd)); tcg_gen_addi_ptr(n, cpu_env, pred_full_reg_offset(s, a->rn)); --=20 2.25.1 From nobody Wed Nov 19 07:02:43 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1615307909; cv=none; d=zohomail.com; s=zohoarc; b=VuUE4bS6xkW+RF6cNCWSCRAypsy6WaLwhfiDqHoovx7RpiR5F+GBphysbTRWCyftqyqQvH/b0EmT+NTBtz1tSw2pKXJUTCYeD804tamTQCARI1Kr1d7kz31T1eH74Y6fqt16jytfKYLvcZFia5fljlz+xD9WaaVXmAH3+UweVmU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1615307909; h=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=za48O+F8pe+cx2YKh2fq/jSCGfZWB6heIOQcKS7+4hU=; b=h1EAACF8d36cFH5mP41Qg3vWknm61jd7TCpDmnlpA7tZrcpc2ClXiVyGrLejhCvU1Qv3eqmzGMOQ2DOT8Fzm9PajR5GP+JsIySuC/Q6UqGnXDwrZR4CCzGv9dseBwhuMs83AjILSDjJod2VhewQK61IlmhLvxRLWyI7vm669iLI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass 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 1615307909153779.7678558877805; Tue, 9 Mar 2021 08:38:29 -0800 (PST) Received: from localhost ([::1]:35534 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lJfNL-00064c-WD for importer@patchew.org; Tue, 09 Mar 2021 11:38:28 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:37060) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lJefd-0004t3-Kh for qemu-devel@nongnu.org; Tue, 09 Mar 2021 10:53:17 -0500 Received: from mail-ot1-x333.google.com ([2607:f8b0:4864:20::333]:41288) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lJefb-0001G5-Tq for qemu-devel@nongnu.org; Tue, 09 Mar 2021 10:53:17 -0500 Received: by mail-ot1-x333.google.com with SMTP id f8so8208576otp.8 for ; Tue, 09 Mar 2021 07:53:15 -0800 (PST) Received: from localhost.localdomain (fixed-187-189-51-144.totalplay.net. [187.189.51.144]) by smtp.gmail.com with ESMTPSA id b14sm2952539ooj.26.2021.03.09.07.53.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Mar 2021 07:53:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=za48O+F8pe+cx2YKh2fq/jSCGfZWB6heIOQcKS7+4hU=; b=TjgiVrTelXvgtfADV7qMnMzU0YC6MCB3slQ+MpbtDvcE0fhXtI23Cp/aJ9FTFSEF1p FFGOELM86zJPyOsZIl9hspptXrLlf6w7xHgbi8LpwyvDEVgzf+niJrETuX8rBJY6cK4h oSoiQQ3j5zMmA87R7m7h/rm+WVy7EIMDpSGEFN7UdKud7u84YjGIZLapbZxjR8N6Lnqh f2B9GNVweqbZ5vghI21EKTPXfp3+DVmgrf7I3XeHwhDaSRyls5AxjBSSvKLNI4IrsAzT 4830R7SwV35RLkGuIQXIWgwxPOlUP6BaeAIDX2VHDoqBYjEUYW7d70LI2ut8Ub6t9MP4 0oDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=za48O+F8pe+cx2YKh2fq/jSCGfZWB6heIOQcKS7+4hU=; b=H38HTushkwORmAgaZGIyBzZN0gnq7+/1Iuil811tz4gMvBlaYphAqJQupNrCMQpgQt 36QLSLvJCgpZNPQNWvczTVdHXYd+dxTqYOfj6MbEmc5ino7R2ySj6Cup1UDpGUAPqHIk BXAq1+PXiUwnto9EbtTFRNOcPBplqzH6JSX9Qgv2OUHRmljfYT8K7lUgHQY7jOyFMP+d HH2yuCC4PVW20ZxLN7vG/Qr21m3xeRlzbgJHv4VVigGcsAOlTTmDZBU9h2SjeIeDJhQh ZaQyLxrKKnpt9N96uXSVCpg5N6lTdPRrLqWIq0mF0AgUculcaaSiVZo71DV1IQu+tyH9 uavQ== X-Gm-Message-State: AOAM530DTNOMa36I107tY8FFMpUtExgFdgHwIY+ytlsB9YrvGlkmNHqo bplOObL3geHkfnqbyv5zd4LAMaTmfHXSZZy/ X-Google-Smtp-Source: ABdhPJzbThi+ZkCVP9zGhvqiaJMM4IusupgOtIhOvi4Lter6+oGWF0kk1ivZmL+/wKKgKpjxFUXZAA== X-Received: by 2002:a9d:5604:: with SMTP id e4mr25460860oti.198.1615305194901; Tue, 09 Mar 2021 07:53:14 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v4 6/8] target/arm: Update CNTP for PREDDESC Date: Tue, 9 Mar 2021 07:53:03 -0800 Message-Id: <20210309155305.11301-7-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210309155305.11301-1-richard.henderson@linaro.org> References: <20210309155305.11301-1-richard.henderson@linaro.org> MIME-Version: 1.0 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=2607:f8b0:4864:20::333; envelope-from=richard.henderson@linaro.org; helo=mail-ot1-x333.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, 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: peter.maydell@linaro.org, qemu-arm@nongnu.org, alex.bennee@linaro.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Content-Type: text/plain; charset="utf-8" Since b64ee454a4a0, all predicate operations should be using these field macros for predicates. Signed-off-by: Richard Henderson --- target/arm/sve_helper.c | 6 +++--- target/arm/translate-sve.c | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/target/arm/sve_helper.c b/target/arm/sve_helper.c index 8e0a5d30a5..a95bbece4f 100644 --- a/target/arm/sve_helper.c +++ b/target/arm/sve_helper.c @@ -2836,12 +2836,12 @@ uint32_t HELPER(sve_brkns)(void *vd, void *vn, void= *vg, uint32_t pred_desc) =20 uint64_t HELPER(sve_cntp)(void *vn, void *vg, uint32_t pred_desc) { - intptr_t oprsz =3D extract32(pred_desc, 0, SIMD_OPRSZ_BITS) + 2; - intptr_t esz =3D extract32(pred_desc, SIMD_DATA_SHIFT, 2); + intptr_t words =3D DIV_ROUND_UP(FIELD_EX32(pred_desc, PREDDESC, OPRSZ)= , 8); + intptr_t esz =3D FIELD_EX32(pred_desc, PREDDESC, ESZ); uint64_t *n =3D vn, *g =3D vg, sum =3D 0, mask =3D pred_esz_masks[esz]; intptr_t i; =20 - for (i =3D 0; i < DIV_ROUND_UP(oprsz, 8); ++i) { + for (i =3D 0; i < words; ++i) { uint64_t t =3D n[i] & g[i] & mask; sum +=3D ctpop64(t); } diff --git a/target/arm/translate-sve.c b/target/arm/translate-sve.c index c0212e6b08..722805cf99 100644 --- a/target/arm/translate-sve.c +++ b/target/arm/translate-sve.c @@ -2967,11 +2967,11 @@ static void do_cntp(DisasContext *s, TCGv_i64 val, = int esz, int pn, int pg) } else { TCGv_ptr t_pn =3D tcg_temp_new_ptr(); TCGv_ptr t_pg =3D tcg_temp_new_ptr(); - unsigned desc; + unsigned desc =3D 0; TCGv_i32 t_desc; =20 - desc =3D psz - 2; - desc =3D deposit32(desc, SIMD_DATA_SHIFT, 2, esz); + desc =3D FIELD_DP32(desc, PREDDESC, OPRSZ, psz); + desc =3D FIELD_DP32(desc, PREDDESC, ESZ, esz); =20 tcg_gen_addi_ptr(t_pn, cpu_env, pred_full_reg_offset(s, pn)); tcg_gen_addi_ptr(t_pg, cpu_env, pred_full_reg_offset(s, pg)); --=20 2.25.1 From nobody Wed Nov 19 07:02:43 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1615308502; cv=none; d=zohomail.com; s=zohoarc; b=bqZEf5e/+ZPISaW1e7YYZKdCgI4qEi7TiqNVg/N6P3lIFHuo5gESLnIsJzOXfD/JFZw7dLyaH+YN2D0kJWbKMUs/pPFrhfdVxu2GIriH0/R/b47I5UOxuw78Fuo3aIFvXU39VuQTxHndx9rzqxqFZ/KTPqvoxkLp5/u9nTawdTw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1615308502; h=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=uJkC/FaooZirGuu0VHFDubkoDlztZCrLbkateUX9i2Q=; b=jkp451Exk3aGCtB18GmCtb8HgQlEuyuJlPbuX5pPvDohij8EJpX4iUKKlAg+yzNrXj4KIXWtcbKNyh+57pys0khIXqX3V/ShxPdU/sGghXRdiuyWMA4W/lUhIe2qRp+9BkEc4GLnGQzIViXIvoKa37uSsnF5lTdzolSbyA508w4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass 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 1615308502925462.2756167175628; Tue, 9 Mar 2021 08:48:22 -0800 (PST) Received: from localhost ([::1]:52832 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lJfWv-0005U8-RA for importer@patchew.org; Tue, 09 Mar 2021 11:48:21 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:37120) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lJefk-0004z9-Qz for qemu-devel@nongnu.org; Tue, 09 Mar 2021 10:53:24 -0500 Received: from mail-oi1-x22c.google.com ([2607:f8b0:4864:20::22c]:36609) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lJefd-0001Ge-Bj for qemu-devel@nongnu.org; Tue, 09 Mar 2021 10:53:24 -0500 Received: by mail-oi1-x22c.google.com with SMTP id o22so5674990oic.3 for ; Tue, 09 Mar 2021 07:53:16 -0800 (PST) Received: from localhost.localdomain (fixed-187-189-51-144.totalplay.net. [187.189.51.144]) by smtp.gmail.com with ESMTPSA id b14sm2952539ooj.26.2021.03.09.07.53.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Mar 2021 07:53:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=uJkC/FaooZirGuu0VHFDubkoDlztZCrLbkateUX9i2Q=; b=QoHwiL9y4fzf+dOnsRyy5W6s+l4wLngmQ+/gNxTJhChHcL3uz9vhjUZmanKsPU9DYs C0KGGUwt1vM9YSObJbOgRtrvQFg4yOVMuypeazoXsk9f8chybDaBltywLFfwigGex/Yr /UsjzLRQZFZrDg9MPvgiWyl5S/UbCe5Jrx/dEkDikxZPrsJ24stN7f+/CQnPuANJj78C YOXp6pEM6o34Sxj75oOpb5YUimMvNC1YZmb2JFvymZ6XIoJDh7kJyVI+unFEdFUZWNIW hAHB3CbVcJ+EaUG+kf3n5ivgPCi9vwJm142lFohBTMhrqs5efPGRq93bm1hI56fWA53R dEMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=uJkC/FaooZirGuu0VHFDubkoDlztZCrLbkateUX9i2Q=; b=BffgTK7WtnCxbcYUGlD/zuc7o2z4iXQPxYj/VRWUskgzvDAoe4I9yowXMB9IRmTPXA 18bSxF2OIHOaQ0og/zaNpcc1t9meNWymwjKiPzg9oNM817I38Z6mzxpqVLuiy2Hd2Ktu NAvafGdpIW1YPyTtv5N22zkO4a1dC27cJbeif6NeW8Y0s1OuOZuNQOhm4oOJWkn4WiEr F15aedWYIxWpa9dAlVEJNkzgRGFQ6cDccUkFZWCos6VGYOyciOeN4iYTyyuUSk7IM1/J hm/VO/BRgjK25XsieD2pQDbagWKtBrjZGEsSNnFUEqB+QyJG0NbZPn/OYzwYSzQP4EIq YKxQ== X-Gm-Message-State: AOAM531/KZM0fA/tycJfmuWgDXv1qQ9sYEVlMoMEzpA73NGxURxlV7nU SpXKBORTGipxpPEdM+jRdsiJ/f/3RHKWxnGy X-Google-Smtp-Source: ABdhPJxdN7kGSh3ihQoOYEwEX+tgxqXj9jj9ZX8SLTEZr+1hcQ6nXeUpGr1LaV/a5MwWSfNZIHe4Pg== X-Received: by 2002:aca:dad4:: with SMTP id r203mr3330198oig.14.1615305196310; Tue, 09 Mar 2021 07:53:16 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v4 7/8] target/arm: Update WHILE for PREDDESC Date: Tue, 9 Mar 2021 07:53:04 -0800 Message-Id: <20210309155305.11301-8-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210309155305.11301-1-richard.henderson@linaro.org> References: <20210309155305.11301-1-richard.henderson@linaro.org> MIME-Version: 1.0 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=2607:f8b0:4864:20::22c; envelope-from=richard.henderson@linaro.org; helo=mail-oi1-x22c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, 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: peter.maydell@linaro.org, qemu-arm@nongnu.org, alex.bennee@linaro.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Content-Type: text/plain; charset="utf-8" Since b64ee454a4a0, all predicate operations should be using these field macros for predicates. Signed-off-by: Richard Henderson --- target/arm/sve_helper.c | 4 ++-- target/arm/translate-sve.c | 7 ++++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/target/arm/sve_helper.c b/target/arm/sve_helper.c index a95bbece4f..6f4bc3a3cc 100644 --- a/target/arm/sve_helper.c +++ b/target/arm/sve_helper.c @@ -2850,8 +2850,8 @@ uint64_t HELPER(sve_cntp)(void *vn, void *vg, uint32_= t pred_desc) =20 uint32_t HELPER(sve_while)(void *vd, uint32_t count, uint32_t pred_desc) { - uintptr_t oprsz =3D extract32(pred_desc, 0, SIMD_OPRSZ_BITS) + 2; - intptr_t esz =3D extract32(pred_desc, SIMD_DATA_SHIFT, 2); + intptr_t oprsz =3D FIELD_EX32(pred_desc, PREDDESC, OPRSZ); + intptr_t esz =3D FIELD_EX32(pred_desc, PREDDESC, ESZ); uint64_t esz_mask =3D pred_esz_masks[esz]; ARMPredicateReg *d =3D vd; uint32_t flags; diff --git a/target/arm/translate-sve.c b/target/arm/translate-sve.c index 722805cf99..2420cd741b 100644 --- a/target/arm/translate-sve.c +++ b/target/arm/translate-sve.c @@ -3097,7 +3097,8 @@ static bool trans_WHILE(DisasContext *s, arg_WHILE *a) TCGv_i64 op0, op1, t0, t1, tmax; TCGv_i32 t2, t3; TCGv_ptr ptr; - unsigned desc, vsz =3D vec_full_reg_size(s); + unsigned vsz =3D vec_full_reg_size(s); + unsigned desc =3D 0; TCGCond cond; =20 if (!sve_access_check(s)) { @@ -3161,8 +3162,8 @@ static bool trans_WHILE(DisasContext *s, arg_WHILE *a) /* Scale elements to bits. */ tcg_gen_shli_i32(t2, t2, a->esz); =20 - desc =3D (vsz / 8) - 2; - desc =3D deposit32(desc, SIMD_DATA_SHIFT, 2, a->esz); + desc =3D FIELD_DP32(desc, PREDDESC, OPRSZ, vsz / 8); + desc =3D FIELD_DP32(desc, PREDDESC, ESZ, a->esz); t3 =3D tcg_const_i32(desc); =20 ptr =3D tcg_temp_new_ptr(); --=20 2.25.1 From nobody Wed Nov 19 07:02:43 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1615308109; cv=none; d=zohomail.com; s=zohoarc; b=UXS8+0cCflekR3EAcRkEni3JlKCINtMCpwNPdxb78HpeDa6XIS0H+o0XRfD25Tg9c3Z0pHtBkIo6NbxtHqmAg/iBB135ldDp1WSGzXrwaRdRBkE0rumTUwQ3OSLhBtPbxca6Wc9V4+Np+iWpyt15cjkKTTAWu5OMwl+uK/s0otQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1615308109; h=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=kPQnPJ7DMhJJR2d+A/Ri0b5LMFWa1kAHZRSsfJazyFE=; b=geZqpcGblUtSuNmfpr/SEbOcZT5p4rWYmyiojh+dSHvkuzM8Mu+z/KaoBAZzm86LhJ55Utam14NrD27usenC5Z+dLk30ktqN8gjlKAgErZR65WzQhc8HXWrBudNQcg92mueuC0gB57Ys6C2cVOvgbm/nB6NKjerNnWRpKwjZ4V0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass 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 1615308109882660.9933728369414; Tue, 9 Mar 2021 08:41:49 -0800 (PST) Received: from localhost ([::1]:42858 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lJfQa-0000h2-Ss for importer@patchew.org; Tue, 09 Mar 2021 11:41:48 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:37128) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lJefl-000507-3n for qemu-devel@nongnu.org; Tue, 09 Mar 2021 10:53:25 -0500 Received: from mail-oi1-x229.google.com ([2607:f8b0:4864:20::229]:38857) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lJefe-0001Hp-Pz for qemu-devel@nongnu.org; Tue, 09 Mar 2021 10:53:24 -0500 Received: by mail-oi1-x229.google.com with SMTP id v192so7849974oia.5 for ; Tue, 09 Mar 2021 07:53:18 -0800 (PST) Received: from localhost.localdomain (fixed-187-189-51-144.totalplay.net. [187.189.51.144]) by smtp.gmail.com with ESMTPSA id b14sm2952539ooj.26.2021.03.09.07.53.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Mar 2021 07:53:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=kPQnPJ7DMhJJR2d+A/Ri0b5LMFWa1kAHZRSsfJazyFE=; b=CGklaU2VC4z9nSnobL5Chl81RexnvQ2fhx0iuuwEO1vQFMPRe+lGtL1opZysUkbOds BjsY1/mEJARUwC7o4pH65C4ZGeAKUFT3slYIpOVLkxTEerNyxy3kribuzp1dk6k59lw6 E/ChaWqEzD+DrVAqfF6Ta/Bz8+wQZmxBiwmTmIEr3K3FW9qzX6/Lq8hhLU437dHCWVcj sQclWVkrpDdzA3hiKCs7c9dbtst3MsVREp6W/u9TFYP6ev5mkMvmjkj+it9g7dAIWHkZ 6r/taznM880SlJ6KNaMCM3ISsc9tO2z19htYGGWDQ4ZSIzmuyZla3YzLlAmXVrsWY8k8 flGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=kPQnPJ7DMhJJR2d+A/Ri0b5LMFWa1kAHZRSsfJazyFE=; b=sj5rIG3Uyc8Sa3J7FK75hWtGSS4BPyjfvaz7hEi24hkmJ6LfHWRMZgrt5rpLn86KK1 H6IhjYMKFMTOg87HE51+Jjyez5n4hJqTUGwtrRL+lsWThhcWy4+OKHjvA249EnOnTEwx B2JF3xRgp9nj3Fg2nMtCY4j7Wl0hgEriFr3ZFzz5I4TrVyEUAVHcz/sLU3wkKg7LTJgB kB77AHaC20IcROlcQQ9n04j4Kdwa3VSXzHhNCOEF7Xi6BLpJNhnAweKEYHsYALSX32Ox tqhn9GaeiKgTBrTWXlrwYynGzPImD3pp3Jv0W032eqci4QpnrFXilRg+GUy9ggsV7TSj a3gw== X-Gm-Message-State: AOAM530HfUyzVEjoZuA8C0y+BS4Pol/adu9wtC5SOlN56EsqQTJq9avJ brbfu2Xy8WWtsd9tskWM4et4SmPzxAIo0CB2 X-Google-Smtp-Source: ABdhPJzx22I8KOesJOPxeMQHNPHe/hq4YtQuKa0CTb3cl+rx1wZ+R3I44vEKjUJe6GjpY3AWnJPBNQ== X-Received: by 2002:aca:44d6:: with SMTP id r205mr3416941oia.104.1615305197748; Tue, 09 Mar 2021 07:53:17 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v4 8/8] target/arm: Update sve reduction vs simd_desc Date: Tue, 9 Mar 2021 07:53:05 -0800 Message-Id: <20210309155305.11301-9-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210309155305.11301-1-richard.henderson@linaro.org> References: <20210309155305.11301-1-richard.henderson@linaro.org> MIME-Version: 1.0 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=2607:f8b0:4864:20::229; envelope-from=richard.henderson@linaro.org; helo=mail-oi1-x229.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, 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: peter.maydell@linaro.org, qemu-arm@nongnu.org, alex.bennee@linaro.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Content-Type: text/plain; charset="utf-8" With the reduction operations, we intentionally increase maxsz to the next power of 2, so as to fill out the reduction tree correctly. Since e2e7168a214b, oprsz must equal maxsz, with exceptions for small vectors, so this triggers an assertion for vector sizes > 32 that are not themselves a power of 2. Pass the power-of-two value in the simd_data field instead. Signed-off-by: Richard Henderson --- target/arm/sve_helper.c | 2 +- target/arm/translate-sve.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/target/arm/sve_helper.c b/target/arm/sve_helper.c index 6f4bc3a3cc..fd6c58f96a 100644 --- a/target/arm/sve_helper.c +++ b/target/arm/sve_helper.c @@ -2896,7 +2896,7 @@ static TYPE NAME##_reduce(TYPE *data, float_status *s= tatus, uintptr_t n) \ } \ uint64_t HELPER(NAME)(void *vn, void *vg, void *vs, uint32_t desc) \ { \ - uintptr_t i, oprsz =3D simd_oprsz(desc), maxsz =3D simd_maxsz(desc); \ + uintptr_t i, oprsz =3D simd_oprsz(desc), maxsz =3D simd_data(desc); \ TYPE data[sizeof(ARMVectorReg) / sizeof(TYPE)]; \ for (i =3D 0; i < oprsz; ) { \ uint16_t pg =3D *(uint16_t *)(vg + H1_2(i >> 3)); \ diff --git a/target/arm/translate-sve.c b/target/arm/translate-sve.c index 2420cd741b..0eefb61214 100644 --- a/target/arm/translate-sve.c +++ b/target/arm/translate-sve.c @@ -3440,7 +3440,7 @@ static void do_reduce(DisasContext *s, arg_rpr_esz *a, { unsigned vsz =3D vec_full_reg_size(s); unsigned p2vsz =3D pow2ceil(vsz); - TCGv_i32 t_desc =3D tcg_const_i32(simd_desc(vsz, p2vsz, 0)); + TCGv_i32 t_desc =3D tcg_const_i32(simd_desc(vsz, vsz, p2vsz)); TCGv_ptr t_zn, t_pg, status; TCGv_i64 temp; =20 --=20 2.25.1