From nobody Mon May 6 02:34:12 2024 Delivered-To: importer@patchew.org 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; 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=1584471762; cv=none; d=zohomail.com; s=zohoarc; b=AZRdv3+b36+ynWfJ3ddhP1/J5wIZLlajZzNkHT7j66W0TdUOgbh01brqb1wjr9VlYl6m2MrkOUXFn7lLD2XMpWa9s2PHAGFpt10ZqW0dxOjqgQW9Tjs0YEVDLhGGsJO2kBcmF98OzlVqPSj2Eu89IpUwY4uP6TjeuZHDb13Ve30= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1584471762; 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=wcSaDLPBm27zUZG4KbOwcxrAEQmHL3Xru2iiSqgStcQ=; b=TJ0r72GkXL3JOCKc/ps2ZshUAnN/CwkRcXog1TXWb/LdFIYcVpbwFuUZR8B1cRI5UKoA4thYi/AQiDxWCqTtc/9E3GCpGZkxlI+LN08k9wOWtNuYPERliXaYXJZv18jKar99o5GiSK+AebDay/mVKb7nvvNFCqKGqGfBXXRHWoo= 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 15844717627914.521733068634603; Tue, 17 Mar 2020 12:02:42 -0700 (PDT) Received: from localhost ([::1]:39922 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jEHU9-0000Q0-EK for importer@patchew.org; Tue, 17 Mar 2020 15:02:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33186) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jEHRr-0007Bv-DI for qemu-devel@nongnu.org; Tue, 17 Mar 2020 15:00:20 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jEHRq-00046G-66 for qemu-devel@nongnu.org; Tue, 17 Mar 2020 15:00:19 -0400 Received: from mail-pl1-x636.google.com ([2607:f8b0:4864:20::636]:36486) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jEHRp-000408-VK for qemu-devel@nongnu.org; Tue, 17 Mar 2020 15:00:18 -0400 Received: by mail-pl1-x636.google.com with SMTP id g2so7512203plo.3 for ; Tue, 17 Mar 2020 12:00:17 -0700 (PDT) Received: from localhost.localdomain (97-126-123-70.tukw.qwest.net. [97.126.123.70]) by smtp.gmail.com with ESMTPSA id y13sm3738411pfp.88.2020.03.17.12.00.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Mar 2020 12:00:15 -0700 (PDT) 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=wcSaDLPBm27zUZG4KbOwcxrAEQmHL3Xru2iiSqgStcQ=; b=NXoB5wxBCgZQNc7gAazD6xA7pEoA0CDon+/SeDGlPyIzjkKl8NQ41rg0YXOsUmrv9n 3q/zZ32ZYTnmqou0M0Nn5vDpXqZJ19jyH1eGg0K4k0cn7U+px7/Twq8m1wBVzQUYcE4D 21PgKbgLlymNQLLD9h2eppDpzz0IAqpssGeI5ELD3qQSSQEzfLxirhxsyE86SdijhLE9 rWv0etWYXw46agSPG5SCqRJyqQIwmbsj3jZXg+xRxzfvKQRzy+dgshReLUlWcF0DePLi 8j0eStbBs+cOPEDjn+Oqz8GP9RT9IP/cF3u1P2/PQgRDrrulpYIPX6Bq0eli97z4RXU3 ksfw== 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=wcSaDLPBm27zUZG4KbOwcxrAEQmHL3Xru2iiSqgStcQ=; b=HWmO2Ywqg4NkimM6SgdUwHH8ukI5UJQ8P/7gcrJDGMrOCndmpatYpoTKi5l5twFdnH xng6h2JAlcBJKj85aFj6aRMUPaoIA7fB7xjGNJNfg16P3ErlO+foJjTA51VdEi283bg2 qaBDi6KglzdjHuLAamWOCTbQ2dyyu2bVHK6N1rnZPedeawe0t6G/koXqd/F8MuJCGBVK BXlEiqnissnaKRUgns2S34q9xz4wAMAe0DHdR5AgviR2r4uRMfwnt3jl1FL4sadg1JXm JFLAqr21ebEsYnYLzXVnafuovWYdqRQUQ+M903vPllj8x9PbbJRZ6DbHqoV9FM3UubyK b0Uw== X-Gm-Message-State: ANhLgQ0HwQoU51gIvYwvUuw95yJUraqtqDt7kc7pPMh2QYkOYaCAJgA9 t5uqNmlfBTKoLOzACWuOgkms7nVkqjM= X-Google-Smtp-Source: ADFU+vtssH8Gu45wIj1dihNU+Ce8hTsrippWP9u0aYjZpPS85LxEB95ej/cdA6+p7FYHE3oX9a8yIw== X-Received: by 2002:a17:902:444:: with SMTP id 62mr88213ple.109.1584471616598; Tue, 17 Mar 2020 12:00:16 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PULL 1/5] tcg/i386: Bound shift count expanding sari_vec Date: Tue, 17 Mar 2020 12:00:09 -0700 Message-Id: <20200317190013.25036-2-richard.henderson@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200317190013.25036-1-richard.henderson@linaro.org> References: <20200317190013.25036-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::636 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 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" A given RISU testcase for SVE can produce tcg-op-vec.c:511: do_shifti: Assertion `i >=3D 0 && i < (8 << vece)' failed. because expand_vec_sari gave a shift count of 32 to a MO_32 vector shift. In 44f1441dbe1, we changed from direct expansion of vector opcodes to re-use of the tcg expanders. So while the comment correctly notes that the hw will handle such a shift count, we now have to take our own sanity checks into account. Which is easy in this particular case. Fixes: 44f1441dbe1 Signed-off-by: Richard Henderson --- tcg/i386/tcg-target.inc.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/tcg/i386/tcg-target.inc.c b/tcg/i386/tcg-target.inc.c index cdedcb2b25..223dba9c8c 100644 --- a/tcg/i386/tcg-target.inc.c +++ b/tcg/i386/tcg-target.inc.c @@ -3391,12 +3391,15 @@ static void expand_vec_sari(TCGType type, unsigned = vece, =20 case MO_64: if (imm <=3D 32) { - /* We can emulate a small sign extend by performing an arithme= tic + /* + * We can emulate a small sign extend by performing an arithme= tic * 32-bit shift and overwriting the high half of a 64-bit logi= cal - * shift (note that the ISA says shift of 32 is valid). + * shift. Note that the ISA says shift of 32 is valid, but TCG + * does not, so we have to bound the smaller shift -- we get t= he + * same result in the high half either way. */ t1 =3D tcg_temp_new_vec(type); - tcg_gen_sari_vec(MO_32, t1, v1, imm); + tcg_gen_sari_vec(MO_32, t1, v1, MIN(imm, 31)); tcg_gen_shri_vec(MO_64, v0, v1, imm); vec_gen_4(INDEX_op_x86_blend_vec, type, MO_32, tcgv_vec_arg(v0), tcgv_vec_arg(v0), --=20 2.20.1 From nobody Mon May 6 02:34:12 2024 Delivered-To: importer@patchew.org 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; 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=1584471772; cv=none; d=zohomail.com; s=zohoarc; b=ZLWowlaGgBZpIvfg0oi5/F3WujL4E/F/f4RvWp49pZ5xAYRKMvXIvNAKozpe/EZmjbqKOY2oHKeH5PQQSPD54Ooi/wuOauq+aRSsC+DJflH2+4WJVTRlHIAhKnid7nxv9mMXCkIcTX4nk54H94FTFdhAksBMXmrQmZ3Szn37Y+Q= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1584471772; 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=srAo9cELKNxJLe7H5Kb1ku6pI8RUGetGR66tpA6jg7k=; b=Nz2/ftVn7ZHiRPSmONSUxRmFU4CnKb0ZmP7RmROqp/C5lKzohsWo31d/5/biFdG9DvK6vlOTwRdJJYI4u8JCPifcbMQtrNSgvVgOVDJF0kgY84suCZ4yu2x58ujVuq/G3qSfvY1ttXATT318OHd6HhYPA8gyq0kk7IezsftCOaw= 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 158447177204390.90108588541182; Tue, 17 Mar 2020 12:02:52 -0700 (PDT) Received: from localhost ([::1]:39934 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jEHUI-0000bV-Hi for importer@patchew.org; Tue, 17 Mar 2020 15:02:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33252) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jEHRt-0007CV-Ta for qemu-devel@nongnu.org; Tue, 17 Mar 2020 15:00:23 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jEHRs-0004Jv-7E for qemu-devel@nongnu.org; Tue, 17 Mar 2020 15:00:21 -0400 Received: from mail-pf1-x42f.google.com ([2607:f8b0:4864:20::42f]:43237) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jEHRs-0004Ew-0I for qemu-devel@nongnu.org; Tue, 17 Mar 2020 15:00:20 -0400 Received: by mail-pf1-x42f.google.com with SMTP id f206so1444972pfa.10 for ; Tue, 17 Mar 2020 12:00:19 -0700 (PDT) Received: from localhost.localdomain (97-126-123-70.tukw.qwest.net. [97.126.123.70]) by smtp.gmail.com with ESMTPSA id y13sm3738411pfp.88.2020.03.17.12.00.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Mar 2020 12:00:17 -0700 (PDT) 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=srAo9cELKNxJLe7H5Kb1ku6pI8RUGetGR66tpA6jg7k=; b=g5cV0sWi0pK/kT+vpnX7alQ7WaWedDU9MF5ybT5F1BLgp9O6EpCCfTZKg8i2DknVLv EfXhAbSHLFmKmuHU0PXiO+z85Ewat7Khx4PWIDUxTLu6V1uocC7yh1rHBGTKumDBzgnd tV2pZNps5g76pLz4VRMHlKr2s50rUjRYh78zSSiaNO2k4xlfVgxnvzYDCE7OXhYXyFUv h1Elmwpo1iFKExWhXEtsmeI98ImWGT1Bym7urMrGGHO/E8VqmqWVcusX0hAKd5CnJqq7 PgxkF48xmwjCevc+okEEo11S+xuaFQ1zDaag4fLaPXYC4WOh4vdD1N9qii9sJblsMk8p l5Qg== 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=srAo9cELKNxJLe7H5Kb1ku6pI8RUGetGR66tpA6jg7k=; b=EAcK7dJfwwl0PD7hJyBZ+CnluB7HLeb/+yL4BqM7D78ILqlkJh0y0h7cx+CWpeTWjK G+zHAWi0FDvsqp0vcSb1loUlOgmMXa3D6N5qc6uMSLPqlVH7GV73mpXUIrVU8O/xvCYb sB+kDfPnt5ZKJPM8J5qsbqAeNkd5ZjfNLhQYX+5j/RtbtxGEOn4o+YziCEIvRybeSetn U/owWXSHh6AmNVXR/oWypo+cJ6j/KNG+fcjcc/RSy9EXmLYoF/zdkfnGUXiVRHot2yVd CVU6SyOOR4IIeIu/QBol+My8+bXHLCstuHwL7KmaRnu1HxvQ2Pe0IBMUFuesBw3Zi8xg 2PUg== X-Gm-Message-State: ANhLgQ0mWtREulZtea/MfZvjatY2H9vfwPwSfcjK1ebCIzXK1lbemKt7 eQWH3w3gvNz1V0TyWGGf7e8c0ujCoNI= X-Google-Smtp-Source: ADFU+vvQArjjvwnLv1MKg9zJBc8sCgWO8rw42WfZdM7CVp4CxttBS/DqDYuTj1AOR9ge9aGkXMBOQQ== X-Received: by 2002:a63:4864:: with SMTP id x36mr607079pgk.398.1584471618053; Tue, 17 Mar 2020 12:00:18 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PULL 2/5] tcg: Remove CONFIG_VECTOR16 Date: Tue, 17 Mar 2020 12:00:10 -0700 Message-Id: <20200317190013.25036-3-richard.henderson@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200317190013.25036-1-richard.henderson@linaro.org> References: <20200317190013.25036-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::42f 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 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" The comment in tcg-runtime-gvec.c about CONFIG_VECTOR16 says that tcg-op-gvec.c has eliminated size 8 vectors, and only passes on multiples of 16. This may have been true of the first few operations, but is not true of all operations. In particular, multiply, shift by scalar, and compare of 8- and 16-bit elements are not expanded inline if host vector operations are not supported. For an x86_64 host that does not support AVX, this means that we will fall back to the helper, which will attempt to use SSE instructions, which will SEGV on an invalid 8-byte aligned memory operation. This patch simply removes the CONFIG_VECTOR16 code and configuration without further simplification. Buglink: https://bugs.launchpad.net/bugs/1863508 Signed-off-by: Richard Henderson --- configure | 56 ------------------------------------ accel/tcg/tcg-runtime-gvec.c | 35 +--------------------- 2 files changed, 1 insertion(+), 90 deletions(-) diff --git a/configure b/configure index eb49bb6680..47b8dea78a 100755 --- a/configure +++ b/configure @@ -5711,58 +5711,6 @@ if test "$plugins" =3D "yes" && "for this purpose. You can't build with --static." fi =20 -######################################## -# See if 16-byte vector operations are supported. -# Even without a vector unit the compiler may expand these. -# There is a bug in old GCC for PPC that crashes here. -# Unfortunately it's the system compiler for Centos 7. - -cat > $TMPC << EOF -typedef unsigned char U1 __attribute__((vector_size(16))); -typedef unsigned short U2 __attribute__((vector_size(16))); -typedef unsigned int U4 __attribute__((vector_size(16))); -typedef unsigned long long U8 __attribute__((vector_size(16))); -typedef signed char S1 __attribute__((vector_size(16))); -typedef signed short S2 __attribute__((vector_size(16))); -typedef signed int S4 __attribute__((vector_size(16))); -typedef signed long long S8 __attribute__((vector_size(16))); -static U1 a1, b1; -static U2 a2, b2; -static U4 a4, b4; -static U8 a8, b8; -static S1 c1; -static S2 c2; -static S4 c4; -static S8 c8; -static int i; -void helper(void *d, void *a, int shift, int i); -void helper(void *d, void *a, int shift, int i) -{ - *(U1 *)(d + i) =3D *(U1 *)(a + i) << shift; - *(U2 *)(d + i) =3D *(U2 *)(a + i) << shift; - *(U4 *)(d + i) =3D *(U4 *)(a + i) << shift; - *(U8 *)(d + i) =3D *(U8 *)(a + i) << shift; -} -int main(void) -{ - a1 +=3D b1; a2 +=3D b2; a4 +=3D b4; a8 +=3D b8; - a1 -=3D b1; a2 -=3D b2; a4 -=3D b4; a8 -=3D b8; - a1 *=3D b1; a2 *=3D b2; a4 *=3D b4; a8 *=3D b8; - a1 &=3D b1; a2 &=3D b2; a4 &=3D b4; a8 &=3D b8; - a1 |=3D b1; a2 |=3D b2; a4 |=3D b4; a8 |=3D b8; - a1 ^=3D b1; a2 ^=3D b2; a4 ^=3D b4; a8 ^=3D b8; - a1 <<=3D i; a2 <<=3D i; a4 <<=3D i; a8 <<=3D i; - a1 >>=3D i; a2 >>=3D i; a4 >>=3D i; a8 >>=3D i; - c1 >>=3D i; c2 >>=3D i; c4 >>=3D i; c8 >>=3D i; - return 0; -} -EOF - -vector16=3Dno -if compile_prog "" "" ; then - vector16=3Dyes -fi - ######################################## # See if __attribute__((alias)) is supported. # This false for Xcode 9, but has been remedied for Xcode 10. @@ -7383,10 +7331,6 @@ if test "$atomic64" =3D "yes" ; then echo "CONFIG_ATOMIC64=3Dy" >> $config_host_mak fi =20 -if test "$vector16" =3D "yes" ; then - echo "CONFIG_VECTOR16=3Dy" >> $config_host_mak -fi - if test "$attralias" =3D "yes" ; then echo "CONFIG_ATTRIBUTE_ALIAS=3Dy" >> $config_host_mak fi diff --git a/accel/tcg/tcg-runtime-gvec.c b/accel/tcg/tcg-runtime-gvec.c index 5b1902d591..00da0938a5 100644 --- a/accel/tcg/tcg-runtime-gvec.c +++ b/accel/tcg/tcg-runtime-gvec.c @@ -24,32 +24,6 @@ #include "tcg/tcg-gvec-desc.h" =20 =20 -/* Virtually all hosts support 16-byte vectors. Those that don't can emul= ate - * them via GCC's generic vector extension. This turns out to be simpler = and - * more reliable than getting the compiler to autovectorize. - * - * In tcg-op-gvec.c, we asserted that both the size and alignment of the d= ata - * are multiples of 16. - * - * When the compiler does not support all of the operations we require, the - * loops are written so that we can always fall back on the base types. - */ -#ifdef CONFIG_VECTOR16 -typedef uint8_t vec8 __attribute__((vector_size(16))); -typedef uint16_t vec16 __attribute__((vector_size(16))); -typedef uint32_t vec32 __attribute__((vector_size(16))); -typedef uint64_t vec64 __attribute__((vector_size(16))); - -typedef int8_t svec8 __attribute__((vector_size(16))); -typedef int16_t svec16 __attribute__((vector_size(16))); -typedef int32_t svec32 __attribute__((vector_size(16))); -typedef int64_t svec64 __attribute__((vector_size(16))); - -#define DUP16(X) { X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X } -#define DUP8(X) { X, X, X, X, X, X, X, X } -#define DUP4(X) { X, X, X, X } -#define DUP2(X) { X, X } -#else typedef uint8_t vec8; typedef uint16_t vec16; typedef uint32_t vec32; @@ -64,7 +38,6 @@ typedef int64_t svec64; #define DUP8(X) X #define DUP4(X) X #define DUP2(X) X -#endif /* CONFIG_VECTOR16 */ =20 static inline void clear_high(void *d, intptr_t oprsz, uint32_t desc) { @@ -917,13 +890,7 @@ void HELPER(gvec_sar64v)(void *d, void *a, void *b, ui= nt32_t desc) clear_high(d, oprsz, desc); } =20 -/* If vectors are enabled, the compiler fills in -1 for true. - Otherwise, we must take care of this by hand. */ -#ifdef CONFIG_VECTOR16 -# define DO_CMP0(X) X -#else -# define DO_CMP0(X) -(X) -#endif +#define DO_CMP0(X) -(X) =20 #define DO_CMP1(NAME, TYPE, OP) = \ void HELPER(NAME)(void *d, void *a, void *b, uint32_t desc) = \ --=20 2.20.1 From nobody Mon May 6 02:34:12 2024 Delivered-To: importer@patchew.org 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; 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=1584471901; cv=none; d=zohomail.com; s=zohoarc; b=YfKjWNCAfNSvT6cuUlVccHRS6N7tHK/2osUGl+9xyKy1ZeByyEHc1pSPbpnCjLNNyabPqgw6A1ngdd6SvJw7LIfvUHunfsyrM36mw7ZZZefUbzRnX5kgVbSXgf0cbbatY3sNDik2jYbtY6WTykDjdiJf+IZqy9jHrxNp7wd6kt4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1584471901; 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=h/76PH06t0mXHUL5htC0/3FgylJQLrJdEWB57W9ivFQ=; b=hV1dyvvrRS4I1jDLMj40cDzuoG7sb6zJ7KdN5qOfvgBAL3ki45ueOOKaDgzfq0eTn3Ai5yDmAhnDUPSZZPnSvVCOChDMxNHqpzuWk/5QYz4PdAcaixcLifamS1nP3tntLBbEEyQGYc3I5OTIJv0PYmG7vxril7YFYsiiGNG0CHU= 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 1584471901588538.3608486438262; Tue, 17 Mar 2020 12:05:01 -0700 (PDT) Received: from localhost ([::1]:39982 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jEHWO-0003hb-Bz for importer@patchew.org; Tue, 17 Mar 2020 15:05:00 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33364) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jEHRy-0007HP-2X for qemu-devel@nongnu.org; Tue, 17 Mar 2020 15:00:29 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jEHRu-0004Zk-Hk for qemu-devel@nongnu.org; Tue, 17 Mar 2020 15:00:25 -0400 Received: from mail-pg1-x52e.google.com ([2607:f8b0:4864:20::52e]:45887) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jEHRu-0004Sc-7Z for qemu-devel@nongnu.org; Tue, 17 Mar 2020 15:00:22 -0400 Received: by mail-pg1-x52e.google.com with SMTP id m15so12221673pgv.12 for ; Tue, 17 Mar 2020 12:00:22 -0700 (PDT) Received: from localhost.localdomain (97-126-123-70.tukw.qwest.net. [97.126.123.70]) by smtp.gmail.com with ESMTPSA id y13sm3738411pfp.88.2020.03.17.12.00.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Mar 2020 12:00:18 -0700 (PDT) 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=h/76PH06t0mXHUL5htC0/3FgylJQLrJdEWB57W9ivFQ=; b=tA0acGAHHErT2qhRMsgi3Ht5NqP2N/p5BkNjbqDBLWeBElmWhT0XyNJZq9U+EgaKkl fDEMHselZ3Dx4CrOJAtjW43T9fdX8ytIuTz4OlJ2CxxAVKEtq8xcKnPDisQtmlaHk7xL VNbo1NxAbziwfFaA+SeyuZeZYtn0dLuwu3q3vCNo4C6jy8SqAOCA6CFtoh0opF3dL94h HLI9GShox9JT/Xzbou96BCFRXnprsvQAmi8W06VvOzHb3nhuztA//pxpyNrpqy2oazB9 BAFS5NNSTE4vCS0pZXmzXjx4jdPFAq/mM5gobBfRyucPK9W8OkTdjISA9u6XXvqHB2nA xPFQ== 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=h/76PH06t0mXHUL5htC0/3FgylJQLrJdEWB57W9ivFQ=; b=ML33p1YIo/BaVIsIGFTFbUROI2V42FB0YexDFoct5NrK9Axm+OvNHG0OHLQ38s1sdz V63ZeFPO/HKWoa2AQpdG/JUqzu9DZXYCj/PyhfhQImDJnl5NiohXdWCj/K3JUsomjBme /2mp4HROMfHaP4EWRld6EVD9Ir8R0dIE1AiLrOoRKUOCk10mTH5IT0fcyHvaYNO9Dgcy SlGryFgD5opeeAoEIBhc7q2DEYzU371OrREP13sS6uLSLlnun9Q23smYayx4MF/4xJLE 9D37dA8GPftmpf2wvPtQRv7RptJG9J+9WUKWWOzGrRB3nrbzXfdlQjiT0kYVhXBJOuGI 2Scw== X-Gm-Message-State: ANhLgQ1lFA8ZlpcW4PKkMUaH6yV2pDVIKZ+rAvFX43dg81ydaAdyoQrq 8VQd8pXx+j9H3a+BMrjRzQJ2S5c0TDo= X-Google-Smtp-Source: ADFU+vspFdKBeTP6G2R6Y6/MYuDtz2bR0OJnVMQGf+H3y6ULqbIGm2PaXuKCkxveFMotE7CbUNSILw== X-Received: by 2002:aa7:9471:: with SMTP id t17mr201818pfq.272.1584471619806; Tue, 17 Mar 2020 12:00:19 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PULL 3/5] tcg: Tidy tcg-runtime-gvec.c types Date: Tue, 17 Mar 2020 12:00:11 -0700 Message-Id: <20200317190013.25036-4-richard.henderson@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200317190013.25036-1-richard.henderson@linaro.org> References: <20200317190013.25036-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::52e 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, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Partial cleanup from the CONFIG_VECTOR16 removal. Replace the vec* types with their scalar expansions. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Richard Henderson --- accel/tcg/tcg-runtime-gvec.c | 270 +++++++++++++++++------------------ 1 file changed, 130 insertions(+), 140 deletions(-) diff --git a/accel/tcg/tcg-runtime-gvec.c b/accel/tcg/tcg-runtime-gvec.c index 00da0938a5..97852b515b 100644 --- a/accel/tcg/tcg-runtime-gvec.c +++ b/accel/tcg/tcg-runtime-gvec.c @@ -24,16 +24,6 @@ #include "tcg/tcg-gvec-desc.h" =20 =20 -typedef uint8_t vec8; -typedef uint16_t vec16; -typedef uint32_t vec32; -typedef uint64_t vec64; - -typedef int8_t svec8; -typedef int16_t svec16; -typedef int32_t svec32; -typedef int64_t svec64; - #define DUP16(X) X #define DUP8(X) X #define DUP4(X) X @@ -56,8 +46,8 @@ void HELPER(gvec_add8)(void *d, void *a, void *b, uint32_= t desc) intptr_t oprsz =3D simd_oprsz(desc); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec8)) { - *(vec8 *)(d + i) =3D *(vec8 *)(a + i) + *(vec8 *)(b + i); + for (i =3D 0; i < oprsz; i +=3D sizeof(uint8_t)) { + *(uint8_t *)(d + i) =3D *(uint8_t *)(a + i) + *(uint8_t *)(b + i); } clear_high(d, oprsz, desc); } @@ -67,8 +57,8 @@ void HELPER(gvec_add16)(void *d, void *a, void *b, uint32= _t desc) intptr_t oprsz =3D simd_oprsz(desc); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec16)) { - *(vec16 *)(d + i) =3D *(vec16 *)(a + i) + *(vec16 *)(b + i); + for (i =3D 0; i < oprsz; i +=3D sizeof(uint16_t)) { + *(uint16_t *)(d + i) =3D *(uint16_t *)(a + i) + *(uint16_t *)(b + = i); } clear_high(d, oprsz, desc); } @@ -78,8 +68,8 @@ void HELPER(gvec_add32)(void *d, void *a, void *b, uint32= _t desc) intptr_t oprsz =3D simd_oprsz(desc); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec32)) { - *(vec32 *)(d + i) =3D *(vec32 *)(a + i) + *(vec32 *)(b + i); + for (i =3D 0; i < oprsz; i +=3D sizeof(uint32_t)) { + *(uint32_t *)(d + i) =3D *(uint32_t *)(a + i) + *(uint32_t *)(b + = i); } clear_high(d, oprsz, desc); } @@ -89,8 +79,8 @@ void HELPER(gvec_add64)(void *d, void *a, void *b, uint32= _t desc) intptr_t oprsz =3D simd_oprsz(desc); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec64)) { - *(vec64 *)(d + i) =3D *(vec64 *)(a + i) + *(vec64 *)(b + i); + for (i =3D 0; i < oprsz; i +=3D sizeof(uint64_t)) { + *(uint64_t *)(d + i) =3D *(uint64_t *)(a + i) + *(uint64_t *)(b + = i); } clear_high(d, oprsz, desc); } @@ -98,11 +88,11 @@ void HELPER(gvec_add64)(void *d, void *a, void *b, uint= 32_t desc) void HELPER(gvec_adds8)(void *d, void *a, uint64_t b, uint32_t desc) { intptr_t oprsz =3D simd_oprsz(desc); - vec8 vecb =3D (vec8)DUP16(b); + uint8_t vecb =3D (uint8_t)DUP16(b); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec8)) { - *(vec8 *)(d + i) =3D *(vec8 *)(a + i) + vecb; + for (i =3D 0; i < oprsz; i +=3D sizeof(uint8_t)) { + *(uint8_t *)(d + i) =3D *(uint8_t *)(a + i) + vecb; } clear_high(d, oprsz, desc); } @@ -110,11 +100,11 @@ void HELPER(gvec_adds8)(void *d, void *a, uint64_t b,= uint32_t desc) void HELPER(gvec_adds16)(void *d, void *a, uint64_t b, uint32_t desc) { intptr_t oprsz =3D simd_oprsz(desc); - vec16 vecb =3D (vec16)DUP8(b); + uint16_t vecb =3D (uint16_t)DUP8(b); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec16)) { - *(vec16 *)(d + i) =3D *(vec16 *)(a + i) + vecb; + for (i =3D 0; i < oprsz; i +=3D sizeof(uint16_t)) { + *(uint16_t *)(d + i) =3D *(uint16_t *)(a + i) + vecb; } clear_high(d, oprsz, desc); } @@ -122,11 +112,11 @@ void HELPER(gvec_adds16)(void *d, void *a, uint64_t b= , uint32_t desc) void HELPER(gvec_adds32)(void *d, void *a, uint64_t b, uint32_t desc) { intptr_t oprsz =3D simd_oprsz(desc); - vec32 vecb =3D (vec32)DUP4(b); + uint32_t vecb =3D (uint32_t)DUP4(b); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec32)) { - *(vec32 *)(d + i) =3D *(vec32 *)(a + i) + vecb; + for (i =3D 0; i < oprsz; i +=3D sizeof(uint32_t)) { + *(uint32_t *)(d + i) =3D *(uint32_t *)(a + i) + vecb; } clear_high(d, oprsz, desc); } @@ -134,11 +124,11 @@ void HELPER(gvec_adds32)(void *d, void *a, uint64_t b= , uint32_t desc) void HELPER(gvec_adds64)(void *d, void *a, uint64_t b, uint32_t desc) { intptr_t oprsz =3D simd_oprsz(desc); - vec64 vecb =3D (vec64)DUP2(b); + uint64_t vecb =3D (uint64_t)DUP2(b); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec64)) { - *(vec64 *)(d + i) =3D *(vec64 *)(a + i) + vecb; + for (i =3D 0; i < oprsz; i +=3D sizeof(uint64_t)) { + *(uint64_t *)(d + i) =3D *(uint64_t *)(a + i) + vecb; } clear_high(d, oprsz, desc); } @@ -148,8 +138,8 @@ void HELPER(gvec_sub8)(void *d, void *a, void *b, uint3= 2_t desc) intptr_t oprsz =3D simd_oprsz(desc); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec8)) { - *(vec8 *)(d + i) =3D *(vec8 *)(a + i) - *(vec8 *)(b + i); + for (i =3D 0; i < oprsz; i +=3D sizeof(uint8_t)) { + *(uint8_t *)(d + i) =3D *(uint8_t *)(a + i) - *(uint8_t *)(b + i); } clear_high(d, oprsz, desc); } @@ -159,8 +149,8 @@ void HELPER(gvec_sub16)(void *d, void *a, void *b, uint= 32_t desc) intptr_t oprsz =3D simd_oprsz(desc); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec16)) { - *(vec16 *)(d + i) =3D *(vec16 *)(a + i) - *(vec16 *)(b + i); + for (i =3D 0; i < oprsz; i +=3D sizeof(uint16_t)) { + *(uint16_t *)(d + i) =3D *(uint16_t *)(a + i) - *(uint16_t *)(b + = i); } clear_high(d, oprsz, desc); } @@ -170,8 +160,8 @@ void HELPER(gvec_sub32)(void *d, void *a, void *b, uint= 32_t desc) intptr_t oprsz =3D simd_oprsz(desc); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec32)) { - *(vec32 *)(d + i) =3D *(vec32 *)(a + i) - *(vec32 *)(b + i); + for (i =3D 0; i < oprsz; i +=3D sizeof(uint32_t)) { + *(uint32_t *)(d + i) =3D *(uint32_t *)(a + i) - *(uint32_t *)(b + = i); } clear_high(d, oprsz, desc); } @@ -181,8 +171,8 @@ void HELPER(gvec_sub64)(void *d, void *a, void *b, uint= 32_t desc) intptr_t oprsz =3D simd_oprsz(desc); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec64)) { - *(vec64 *)(d + i) =3D *(vec64 *)(a + i) - *(vec64 *)(b + i); + for (i =3D 0; i < oprsz; i +=3D sizeof(uint64_t)) { + *(uint64_t *)(d + i) =3D *(uint64_t *)(a + i) - *(uint64_t *)(b + = i); } clear_high(d, oprsz, desc); } @@ -190,11 +180,11 @@ void HELPER(gvec_sub64)(void *d, void *a, void *b, ui= nt32_t desc) void HELPER(gvec_subs8)(void *d, void *a, uint64_t b, uint32_t desc) { intptr_t oprsz =3D simd_oprsz(desc); - vec8 vecb =3D (vec8)DUP16(b); + uint8_t vecb =3D (uint8_t)DUP16(b); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec8)) { - *(vec8 *)(d + i) =3D *(vec8 *)(a + i) - vecb; + for (i =3D 0; i < oprsz; i +=3D sizeof(uint8_t)) { + *(uint8_t *)(d + i) =3D *(uint8_t *)(a + i) - vecb; } clear_high(d, oprsz, desc); } @@ -202,11 +192,11 @@ void HELPER(gvec_subs8)(void *d, void *a, uint64_t b,= uint32_t desc) void HELPER(gvec_subs16)(void *d, void *a, uint64_t b, uint32_t desc) { intptr_t oprsz =3D simd_oprsz(desc); - vec16 vecb =3D (vec16)DUP8(b); + uint16_t vecb =3D (uint16_t)DUP8(b); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec16)) { - *(vec16 *)(d + i) =3D *(vec16 *)(a + i) - vecb; + for (i =3D 0; i < oprsz; i +=3D sizeof(uint16_t)) { + *(uint16_t *)(d + i) =3D *(uint16_t *)(a + i) - vecb; } clear_high(d, oprsz, desc); } @@ -214,11 +204,11 @@ void HELPER(gvec_subs16)(void *d, void *a, uint64_t b= , uint32_t desc) void HELPER(gvec_subs32)(void *d, void *a, uint64_t b, uint32_t desc) { intptr_t oprsz =3D simd_oprsz(desc); - vec32 vecb =3D (vec32)DUP4(b); + uint32_t vecb =3D (uint32_t)DUP4(b); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec32)) { - *(vec32 *)(d + i) =3D *(vec32 *)(a + i) - vecb; + for (i =3D 0; i < oprsz; i +=3D sizeof(uint32_t)) { + *(uint32_t *)(d + i) =3D *(uint32_t *)(a + i) - vecb; } clear_high(d, oprsz, desc); } @@ -226,11 +216,11 @@ void HELPER(gvec_subs32)(void *d, void *a, uint64_t b= , uint32_t desc) void HELPER(gvec_subs64)(void *d, void *a, uint64_t b, uint32_t desc) { intptr_t oprsz =3D simd_oprsz(desc); - vec64 vecb =3D (vec64)DUP2(b); + uint64_t vecb =3D (uint64_t)DUP2(b); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec64)) { - *(vec64 *)(d + i) =3D *(vec64 *)(a + i) - vecb; + for (i =3D 0; i < oprsz; i +=3D sizeof(uint64_t)) { + *(uint64_t *)(d + i) =3D *(uint64_t *)(a + i) - vecb; } clear_high(d, oprsz, desc); } @@ -240,8 +230,8 @@ void HELPER(gvec_mul8)(void *d, void *a, void *b, uint3= 2_t desc) intptr_t oprsz =3D simd_oprsz(desc); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec8)) { - *(vec8 *)(d + i) =3D *(vec8 *)(a + i) * *(vec8 *)(b + i); + for (i =3D 0; i < oprsz; i +=3D sizeof(uint8_t)) { + *(uint8_t *)(d + i) =3D *(uint8_t *)(a + i) * *(uint8_t *)(b + i); } clear_high(d, oprsz, desc); } @@ -251,8 +241,8 @@ void HELPER(gvec_mul16)(void *d, void *a, void *b, uint= 32_t desc) intptr_t oprsz =3D simd_oprsz(desc); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec16)) { - *(vec16 *)(d + i) =3D *(vec16 *)(a + i) * *(vec16 *)(b + i); + for (i =3D 0; i < oprsz; i +=3D sizeof(uint16_t)) { + *(uint16_t *)(d + i) =3D *(uint16_t *)(a + i) * *(uint16_t *)(b + = i); } clear_high(d, oprsz, desc); } @@ -262,8 +252,8 @@ void HELPER(gvec_mul32)(void *d, void *a, void *b, uint= 32_t desc) intptr_t oprsz =3D simd_oprsz(desc); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec32)) { - *(vec32 *)(d + i) =3D *(vec32 *)(a + i) * *(vec32 *)(b + i); + for (i =3D 0; i < oprsz; i +=3D sizeof(uint32_t)) { + *(uint32_t *)(d + i) =3D *(uint32_t *)(a + i) * *(uint32_t *)(b + = i); } clear_high(d, oprsz, desc); } @@ -273,8 +263,8 @@ void HELPER(gvec_mul64)(void *d, void *a, void *b, uint= 32_t desc) intptr_t oprsz =3D simd_oprsz(desc); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec64)) { - *(vec64 *)(d + i) =3D *(vec64 *)(a + i) * *(vec64 *)(b + i); + for (i =3D 0; i < oprsz; i +=3D sizeof(uint64_t)) { + *(uint64_t *)(d + i) =3D *(uint64_t *)(a + i) * *(uint64_t *)(b + = i); } clear_high(d, oprsz, desc); } @@ -282,11 +272,11 @@ void HELPER(gvec_mul64)(void *d, void *a, void *b, ui= nt32_t desc) void HELPER(gvec_muls8)(void *d, void *a, uint64_t b, uint32_t desc) { intptr_t oprsz =3D simd_oprsz(desc); - vec8 vecb =3D (vec8)DUP16(b); + uint8_t vecb =3D (uint8_t)DUP16(b); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec8)) { - *(vec8 *)(d + i) =3D *(vec8 *)(a + i) * vecb; + for (i =3D 0; i < oprsz; i +=3D sizeof(uint8_t)) { + *(uint8_t *)(d + i) =3D *(uint8_t *)(a + i) * vecb; } clear_high(d, oprsz, desc); } @@ -294,11 +284,11 @@ void HELPER(gvec_muls8)(void *d, void *a, uint64_t b,= uint32_t desc) void HELPER(gvec_muls16)(void *d, void *a, uint64_t b, uint32_t desc) { intptr_t oprsz =3D simd_oprsz(desc); - vec16 vecb =3D (vec16)DUP8(b); + uint16_t vecb =3D (uint16_t)DUP8(b); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec16)) { - *(vec16 *)(d + i) =3D *(vec16 *)(a + i) * vecb; + for (i =3D 0; i < oprsz; i +=3D sizeof(uint16_t)) { + *(uint16_t *)(d + i) =3D *(uint16_t *)(a + i) * vecb; } clear_high(d, oprsz, desc); } @@ -306,11 +296,11 @@ void HELPER(gvec_muls16)(void *d, void *a, uint64_t b= , uint32_t desc) void HELPER(gvec_muls32)(void *d, void *a, uint64_t b, uint32_t desc) { intptr_t oprsz =3D simd_oprsz(desc); - vec32 vecb =3D (vec32)DUP4(b); + uint32_t vecb =3D (uint32_t)DUP4(b); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec32)) { - *(vec32 *)(d + i) =3D *(vec32 *)(a + i) * vecb; + for (i =3D 0; i < oprsz; i +=3D sizeof(uint32_t)) { + *(uint32_t *)(d + i) =3D *(uint32_t *)(a + i) * vecb; } clear_high(d, oprsz, desc); } @@ -318,11 +308,11 @@ void HELPER(gvec_muls32)(void *d, void *a, uint64_t b= , uint32_t desc) void HELPER(gvec_muls64)(void *d, void *a, uint64_t b, uint32_t desc) { intptr_t oprsz =3D simd_oprsz(desc); - vec64 vecb =3D (vec64)DUP2(b); + uint64_t vecb =3D (uint64_t)DUP2(b); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec64)) { - *(vec64 *)(d + i) =3D *(vec64 *)(a + i) * vecb; + for (i =3D 0; i < oprsz; i +=3D sizeof(uint64_t)) { + *(uint64_t *)(d + i) =3D *(uint64_t *)(a + i) * vecb; } clear_high(d, oprsz, desc); } @@ -332,8 +322,8 @@ void HELPER(gvec_neg8)(void *d, void *a, uint32_t desc) intptr_t oprsz =3D simd_oprsz(desc); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec8)) { - *(vec8 *)(d + i) =3D -*(vec8 *)(a + i); + for (i =3D 0; i < oprsz; i +=3D sizeof(uint8_t)) { + *(uint8_t *)(d + i) =3D -*(uint8_t *)(a + i); } clear_high(d, oprsz, desc); } @@ -343,8 +333,8 @@ void HELPER(gvec_neg16)(void *d, void *a, uint32_t desc) intptr_t oprsz =3D simd_oprsz(desc); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec16)) { - *(vec16 *)(d + i) =3D -*(vec16 *)(a + i); + for (i =3D 0; i < oprsz; i +=3D sizeof(uint16_t)) { + *(uint16_t *)(d + i) =3D -*(uint16_t *)(a + i); } clear_high(d, oprsz, desc); } @@ -354,8 +344,8 @@ void HELPER(gvec_neg32)(void *d, void *a, uint32_t desc) intptr_t oprsz =3D simd_oprsz(desc); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec32)) { - *(vec32 *)(d + i) =3D -*(vec32 *)(a + i); + for (i =3D 0; i < oprsz; i +=3D sizeof(uint32_t)) { + *(uint32_t *)(d + i) =3D -*(uint32_t *)(a + i); } clear_high(d, oprsz, desc); } @@ -365,8 +355,8 @@ void HELPER(gvec_neg64)(void *d, void *a, uint32_t desc) intptr_t oprsz =3D simd_oprsz(desc); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec64)) { - *(vec64 *)(d + i) =3D -*(vec64 *)(a + i); + for (i =3D 0; i < oprsz; i +=3D sizeof(uint64_t)) { + *(uint64_t *)(d + i) =3D -*(uint64_t *)(a + i); } clear_high(d, oprsz, desc); } @@ -472,8 +462,8 @@ void HELPER(gvec_not)(void *d, void *a, uint32_t desc) intptr_t oprsz =3D simd_oprsz(desc); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec64)) { - *(vec64 *)(d + i) =3D ~*(vec64 *)(a + i); + for (i =3D 0; i < oprsz; i +=3D sizeof(uint64_t)) { + *(uint64_t *)(d + i) =3D ~*(uint64_t *)(a + i); } clear_high(d, oprsz, desc); } @@ -483,8 +473,8 @@ void HELPER(gvec_and)(void *d, void *a, void *b, uint32= _t desc) intptr_t oprsz =3D simd_oprsz(desc); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec64)) { - *(vec64 *)(d + i) =3D *(vec64 *)(a + i) & *(vec64 *)(b + i); + for (i =3D 0; i < oprsz; i +=3D sizeof(uint64_t)) { + *(uint64_t *)(d + i) =3D *(uint64_t *)(a + i) & *(uint64_t *)(b + = i); } clear_high(d, oprsz, desc); } @@ -494,8 +484,8 @@ void HELPER(gvec_or)(void *d, void *a, void *b, uint32_= t desc) intptr_t oprsz =3D simd_oprsz(desc); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec64)) { - *(vec64 *)(d + i) =3D *(vec64 *)(a + i) | *(vec64 *)(b + i); + for (i =3D 0; i < oprsz; i +=3D sizeof(uint64_t)) { + *(uint64_t *)(d + i) =3D *(uint64_t *)(a + i) | *(uint64_t *)(b + = i); } clear_high(d, oprsz, desc); } @@ -505,8 +495,8 @@ void HELPER(gvec_xor)(void *d, void *a, void *b, uint32= _t desc) intptr_t oprsz =3D simd_oprsz(desc); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec64)) { - *(vec64 *)(d + i) =3D *(vec64 *)(a + i) ^ *(vec64 *)(b + i); + for (i =3D 0; i < oprsz; i +=3D sizeof(uint64_t)) { + *(uint64_t *)(d + i) =3D *(uint64_t *)(a + i) ^ *(uint64_t *)(b + = i); } clear_high(d, oprsz, desc); } @@ -516,8 +506,8 @@ void HELPER(gvec_andc)(void *d, void *a, void *b, uint3= 2_t desc) intptr_t oprsz =3D simd_oprsz(desc); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec64)) { - *(vec64 *)(d + i) =3D *(vec64 *)(a + i) &~ *(vec64 *)(b + i); + for (i =3D 0; i < oprsz; i +=3D sizeof(uint64_t)) { + *(uint64_t *)(d + i) =3D *(uint64_t *)(a + i) &~ *(uint64_t *)(b += i); } clear_high(d, oprsz, desc); } @@ -527,8 +517,8 @@ void HELPER(gvec_orc)(void *d, void *a, void *b, uint32= _t desc) intptr_t oprsz =3D simd_oprsz(desc); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec64)) { - *(vec64 *)(d + i) =3D *(vec64 *)(a + i) |~ *(vec64 *)(b + i); + for (i =3D 0; i < oprsz; i +=3D sizeof(uint64_t)) { + *(uint64_t *)(d + i) =3D *(uint64_t *)(a + i) |~ *(uint64_t *)(b += i); } clear_high(d, oprsz, desc); } @@ -538,8 +528,8 @@ void HELPER(gvec_nand)(void *d, void *a, void *b, uint3= 2_t desc) intptr_t oprsz =3D simd_oprsz(desc); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec64)) { - *(vec64 *)(d + i) =3D ~(*(vec64 *)(a + i) & *(vec64 *)(b + i)); + for (i =3D 0; i < oprsz; i +=3D sizeof(uint64_t)) { + *(uint64_t *)(d + i) =3D ~(*(uint64_t *)(a + i) & *(uint64_t *)(b = + i)); } clear_high(d, oprsz, desc); } @@ -549,8 +539,8 @@ void HELPER(gvec_nor)(void *d, void *a, void *b, uint32= _t desc) intptr_t oprsz =3D simd_oprsz(desc); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec64)) { - *(vec64 *)(d + i) =3D ~(*(vec64 *)(a + i) | *(vec64 *)(b + i)); + for (i =3D 0; i < oprsz; i +=3D sizeof(uint64_t)) { + *(uint64_t *)(d + i) =3D ~(*(uint64_t *)(a + i) | *(uint64_t *)(b = + i)); } clear_high(d, oprsz, desc); } @@ -560,8 +550,8 @@ void HELPER(gvec_eqv)(void *d, void *a, void *b, uint32= _t desc) intptr_t oprsz =3D simd_oprsz(desc); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec64)) { - *(vec64 *)(d + i) =3D ~(*(vec64 *)(a + i) ^ *(vec64 *)(b + i)); + for (i =3D 0; i < oprsz; i +=3D sizeof(uint64_t)) { + *(uint64_t *)(d + i) =3D ~(*(uint64_t *)(a + i) ^ *(uint64_t *)(b = + i)); } clear_high(d, oprsz, desc); } @@ -569,11 +559,11 @@ void HELPER(gvec_eqv)(void *d, void *a, void *b, uint= 32_t desc) void HELPER(gvec_ands)(void *d, void *a, uint64_t b, uint32_t desc) { intptr_t oprsz =3D simd_oprsz(desc); - vec64 vecb =3D (vec64)DUP2(b); + uint64_t vecb =3D (uint64_t)DUP2(b); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec64)) { - *(vec64 *)(d + i) =3D *(vec64 *)(a + i) & vecb; + for (i =3D 0; i < oprsz; i +=3D sizeof(uint64_t)) { + *(uint64_t *)(d + i) =3D *(uint64_t *)(a + i) & vecb; } clear_high(d, oprsz, desc); } @@ -581,11 +571,11 @@ void HELPER(gvec_ands)(void *d, void *a, uint64_t b, = uint32_t desc) void HELPER(gvec_xors)(void *d, void *a, uint64_t b, uint32_t desc) { intptr_t oprsz =3D simd_oprsz(desc); - vec64 vecb =3D (vec64)DUP2(b); + uint64_t vecb =3D (uint64_t)DUP2(b); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec64)) { - *(vec64 *)(d + i) =3D *(vec64 *)(a + i) ^ vecb; + for (i =3D 0; i < oprsz; i +=3D sizeof(uint64_t)) { + *(uint64_t *)(d + i) =3D *(uint64_t *)(a + i) ^ vecb; } clear_high(d, oprsz, desc); } @@ -593,11 +583,11 @@ void HELPER(gvec_xors)(void *d, void *a, uint64_t b, = uint32_t desc) void HELPER(gvec_ors)(void *d, void *a, uint64_t b, uint32_t desc) { intptr_t oprsz =3D simd_oprsz(desc); - vec64 vecb =3D (vec64)DUP2(b); + uint64_t vecb =3D (uint64_t)DUP2(b); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec64)) { - *(vec64 *)(d + i) =3D *(vec64 *)(a + i) | vecb; + for (i =3D 0; i < oprsz; i +=3D sizeof(uint64_t)) { + *(uint64_t *)(d + i) =3D *(uint64_t *)(a + i) | vecb; } clear_high(d, oprsz, desc); } @@ -608,8 +598,8 @@ void HELPER(gvec_shl8i)(void *d, void *a, uint32_t desc) int shift =3D simd_data(desc); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec8)) { - *(vec8 *)(d + i) =3D *(vec8 *)(a + i) << shift; + for (i =3D 0; i < oprsz; i +=3D sizeof(uint8_t)) { + *(uint8_t *)(d + i) =3D *(uint8_t *)(a + i) << shift; } clear_high(d, oprsz, desc); } @@ -620,8 +610,8 @@ void HELPER(gvec_shl16i)(void *d, void *a, uint32_t des= c) int shift =3D simd_data(desc); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec16)) { - *(vec16 *)(d + i) =3D *(vec16 *)(a + i) << shift; + for (i =3D 0; i < oprsz; i +=3D sizeof(uint16_t)) { + *(uint16_t *)(d + i) =3D *(uint16_t *)(a + i) << shift; } clear_high(d, oprsz, desc); } @@ -632,8 +622,8 @@ void HELPER(gvec_shl32i)(void *d, void *a, uint32_t des= c) int shift =3D simd_data(desc); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec32)) { - *(vec32 *)(d + i) =3D *(vec32 *)(a + i) << shift; + for (i =3D 0; i < oprsz; i +=3D sizeof(uint32_t)) { + *(uint32_t *)(d + i) =3D *(uint32_t *)(a + i) << shift; } clear_high(d, oprsz, desc); } @@ -644,8 +634,8 @@ void HELPER(gvec_shl64i)(void *d, void *a, uint32_t des= c) int shift =3D simd_data(desc); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec64)) { - *(vec64 *)(d + i) =3D *(vec64 *)(a + i) << shift; + for (i =3D 0; i < oprsz; i +=3D sizeof(uint64_t)) { + *(uint64_t *)(d + i) =3D *(uint64_t *)(a + i) << shift; } clear_high(d, oprsz, desc); } @@ -656,8 +646,8 @@ void HELPER(gvec_shr8i)(void *d, void *a, uint32_t desc) int shift =3D simd_data(desc); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec8)) { - *(vec8 *)(d + i) =3D *(vec8 *)(a + i) >> shift; + for (i =3D 0; i < oprsz; i +=3D sizeof(uint8_t)) { + *(uint8_t *)(d + i) =3D *(uint8_t *)(a + i) >> shift; } clear_high(d, oprsz, desc); } @@ -668,8 +658,8 @@ void HELPER(gvec_shr16i)(void *d, void *a, uint32_t des= c) int shift =3D simd_data(desc); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec16)) { - *(vec16 *)(d + i) =3D *(vec16 *)(a + i) >> shift; + for (i =3D 0; i < oprsz; i +=3D sizeof(uint16_t)) { + *(uint16_t *)(d + i) =3D *(uint16_t *)(a + i) >> shift; } clear_high(d, oprsz, desc); } @@ -680,8 +670,8 @@ void HELPER(gvec_shr32i)(void *d, void *a, uint32_t des= c) int shift =3D simd_data(desc); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec32)) { - *(vec32 *)(d + i) =3D *(vec32 *)(a + i) >> shift; + for (i =3D 0; i < oprsz; i +=3D sizeof(uint32_t)) { + *(uint32_t *)(d + i) =3D *(uint32_t *)(a + i) >> shift; } clear_high(d, oprsz, desc); } @@ -692,8 +682,8 @@ void HELPER(gvec_shr64i)(void *d, void *a, uint32_t des= c) int shift =3D simd_data(desc); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec64)) { - *(vec64 *)(d + i) =3D *(vec64 *)(a + i) >> shift; + for (i =3D 0; i < oprsz; i +=3D sizeof(uint64_t)) { + *(uint64_t *)(d + i) =3D *(uint64_t *)(a + i) >> shift; } clear_high(d, oprsz, desc); } @@ -704,8 +694,8 @@ void HELPER(gvec_sar8i)(void *d, void *a, uint32_t desc) int shift =3D simd_data(desc); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec8)) { - *(svec8 *)(d + i) =3D *(svec8 *)(a + i) >> shift; + for (i =3D 0; i < oprsz; i +=3D sizeof(uint8_t)) { + *(int8_t *)(d + i) =3D *(int8_t *)(a + i) >> shift; } clear_high(d, oprsz, desc); } @@ -716,8 +706,8 @@ void HELPER(gvec_sar16i)(void *d, void *a, uint32_t des= c) int shift =3D simd_data(desc); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec16)) { - *(svec16 *)(d + i) =3D *(svec16 *)(a + i) >> shift; + for (i =3D 0; i < oprsz; i +=3D sizeof(uint16_t)) { + *(int16_t *)(d + i) =3D *(int16_t *)(a + i) >> shift; } clear_high(d, oprsz, desc); } @@ -728,8 +718,8 @@ void HELPER(gvec_sar32i)(void *d, void *a, uint32_t des= c) int shift =3D simd_data(desc); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec32)) { - *(svec32 *)(d + i) =3D *(svec32 *)(a + i) >> shift; + for (i =3D 0; i < oprsz; i +=3D sizeof(uint32_t)) { + *(int32_t *)(d + i) =3D *(int32_t *)(a + i) >> shift; } clear_high(d, oprsz, desc); } @@ -740,8 +730,8 @@ void HELPER(gvec_sar64i)(void *d, void *a, uint32_t des= c) int shift =3D simd_data(desc); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec64)) { - *(svec64 *)(d + i) =3D *(svec64 *)(a + i) >> shift; + for (i =3D 0; i < oprsz; i +=3D sizeof(uint64_t)) { + *(int64_t *)(d + i) =3D *(int64_t *)(a + i) >> shift; } clear_high(d, oprsz, desc); } @@ -904,12 +894,12 @@ void HELPER(NAME)(void *d, void *a, void *b, uint32_t= desc) \ } =20 #define DO_CMP2(SZ) \ - DO_CMP1(gvec_eq##SZ, vec##SZ, =3D=3D) \ - DO_CMP1(gvec_ne##SZ, vec##SZ, !=3D) \ - DO_CMP1(gvec_lt##SZ, svec##SZ, <) \ - DO_CMP1(gvec_le##SZ, svec##SZ, <=3D) \ - DO_CMP1(gvec_ltu##SZ, vec##SZ, <) \ - DO_CMP1(gvec_leu##SZ, vec##SZ, <=3D) + DO_CMP1(gvec_eq##SZ, uint##SZ##_t, =3D=3D) \ + DO_CMP1(gvec_ne##SZ, uint##SZ##_t, !=3D) \ + DO_CMP1(gvec_lt##SZ, int##SZ##_t, <) \ + DO_CMP1(gvec_le##SZ, int##SZ##_t, <=3D) \ + DO_CMP1(gvec_ltu##SZ, uint##SZ##_t, <) \ + DO_CMP1(gvec_leu##SZ, uint##SZ##_t, <=3D) =20 DO_CMP2(8) DO_CMP2(16) @@ -1417,11 +1407,11 @@ void HELPER(gvec_bitsel)(void *d, void *a, void *b,= void *c, uint32_t desc) intptr_t oprsz =3D simd_oprsz(desc); intptr_t i; =20 - for (i =3D 0; i < oprsz; i +=3D sizeof(vec64)) { - vec64 aa =3D *(vec64 *)(a + i); - vec64 bb =3D *(vec64 *)(b + i); - vec64 cc =3D *(vec64 *)(c + i); - *(vec64 *)(d + i) =3D (bb & aa) | (cc & ~aa); + for (i =3D 0; i < oprsz; i +=3D sizeof(uint64_t)) { + uint64_t aa =3D *(uint64_t *)(a + i); + uint64_t bb =3D *(uint64_t *)(b + i); + uint64_t cc =3D *(uint64_t *)(c + i); + *(uint64_t *)(d + i) =3D (bb & aa) | (cc & ~aa); } clear_high(d, oprsz, desc); } --=20 2.20.1 From nobody Mon May 6 02:34:12 2024 Delivered-To: importer@patchew.org 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; 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=1584471773; cv=none; d=zohomail.com; s=zohoarc; b=cL2FzLKtc1LP2LxNw2+SrXRHO00Sz+Tf3bAAQJWG1KHVYr7snYCW4UF+y64q7ITMz8rjCa2BM6VFnrnxFlfOE1qaoIWnzHlLUjtI6C1URQSZADoK1FIYI40RZYf99aetnQfRhAP0aksswt+eTypvd2QDhDdgd2JlqwMuvPbsDl8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1584471773; 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=jFLYAZoqwDTEu0F4qEf8cTvEll1bS4pjAF8UeJqCwYI=; b=Dsgt0ZI0FV2R0WbRchHOYF2rzlikc8dBNn3xiAP8TsnIqkpSmCiCk9N0WsQnoCpyKt8SDavnFW4t2zICsqBX6TJ/cOPjyfnTtZ3zCXmrfJuR6WvR07L5GVBzo0CfIWzR4KqzLfCvf4L4MDIcc0bB+mNzZL1Nh8f1XAR9Nc04vQ0= 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 1584471773151258.12482183142686; Tue, 17 Mar 2020 12:02:53 -0700 (PDT) Received: from localhost ([::1]:39938 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jEHUJ-0000cl-Tc for importer@patchew.org; Tue, 17 Mar 2020 15:02:51 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33318) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jEHRw-0007FO-KA for qemu-devel@nongnu.org; Tue, 17 Mar 2020 15:00:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jEHRu-0004bW-Pw for qemu-devel@nongnu.org; Tue, 17 Mar 2020 15:00:24 -0400 Received: from mail-pg1-x533.google.com ([2607:f8b0:4864:20::533]:38851) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jEHRu-0004VA-Iw for qemu-devel@nongnu.org; Tue, 17 Mar 2020 15:00:22 -0400 Received: by mail-pg1-x533.google.com with SMTP id x7so12235762pgh.5 for ; Tue, 17 Mar 2020 12:00:22 -0700 (PDT) Received: from localhost.localdomain (97-126-123-70.tukw.qwest.net. [97.126.123.70]) by smtp.gmail.com with ESMTPSA id y13sm3738411pfp.88.2020.03.17.12.00.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Mar 2020 12:00:20 -0700 (PDT) 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=jFLYAZoqwDTEu0F4qEf8cTvEll1bS4pjAF8UeJqCwYI=; b=nLtn+kr486UZBruM5UvoTWFA0rO77oPXi86HX5sRkuijkPNTKlurn5/ITkzLCfflAG uMUCqc0Kal9B8pic/ICrEpwazoNi8OlXNTqpkbkDLLiO6LVxZpjQDTcRSDivG/0+gB36 AZKtrz25JQsDle9UGqeDjeIuuwl0bDjCYUyghPTGnuCAneYZ3836uZqBmCKhOmKq6A5L pwY/6OQwX1Qf/a4pCoPTIlgLdYthf+mfSIjfLXj5Mem6oaKL8GXrCCoFERvb3JOPTBbH I9pF2FlZbtqUbfj5A9ASvLLCP1XmIDsESuTLbdBuN+iEGe0n2yfzw3InH69aOUebA55I U7Xw== 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=jFLYAZoqwDTEu0F4qEf8cTvEll1bS4pjAF8UeJqCwYI=; b=Wgz5gAv31KIs1fngKQ/SvPxo+iXupoJzb2GTymygtGQX9QRcKO1tU48cyeIUfby8OE ebHPNmBjSAUI34mwdw35QZWotxwAgsYDilocJIuI3xy8B73cq1JCGkvCRjPShE9RIarB OQYKsPsGTN/FvOk1p828xXIwgnKICG0QXpBUtDikmN0EFHXCdjNZNvJdKIJ/q55zqx1y MBLT0fknNZW3KyspJ081ZIjv+frvAVVY4xlzaH/ACSOYVI3MBBT3WyfP0qdo/XNI9fCX NZVgB8g6vd4mqSdbOZ4DrqXXP2Ecz3h/Z/NBeZw7tuOg1r4Ty4NjBEJKjDLjfT5hdbSN qrIQ== X-Gm-Message-State: ANhLgQ3i2YuEGgtHWPADSpnINw1nAd5X68UYLopm5mX4kZfovtIEpmYH A1aZRnWDD+/66EewCO5ai/WP85A3H0c= X-Google-Smtp-Source: ADFU+vsa5jOrSqMzGcoZVV/UuHDiSq3u84o2nHC3zqj/bk3XKnH3QLyz3VZiNA9LfSY9UTOqlZg5cw== X-Received: by 2002:a65:6447:: with SMTP id s7mr641993pgv.163.1584471620980; Tue, 17 Mar 2020 12:00:20 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PULL 4/5] tcg: Tidy tcg-runtime-gvec.c DUP* Date: Tue, 17 Mar 2020 12:00:12 -0700 Message-Id: <20200317190013.25036-5-richard.henderson@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200317190013.25036-1-richard.henderson@linaro.org> References: <20200317190013.25036-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::533 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, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Partial cleanup from the CONFIG_VECTOR16 removal. Replace the DUP* expansions with the scalar argument. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Richard Henderson --- accel/tcg/tcg-runtime-gvec.c | 50 +++++++++++------------------------- 1 file changed, 15 insertions(+), 35 deletions(-) diff --git a/accel/tcg/tcg-runtime-gvec.c b/accel/tcg/tcg-runtime-gvec.c index 97852b515b..f2199f14b4 100644 --- a/accel/tcg/tcg-runtime-gvec.c +++ b/accel/tcg/tcg-runtime-gvec.c @@ -24,11 +24,6 @@ #include "tcg/tcg-gvec-desc.h" =20 =20 -#define DUP16(X) X -#define DUP8(X) X -#define DUP4(X) X -#define DUP2(X) X - static inline void clear_high(void *d, intptr_t oprsz, uint32_t desc) { intptr_t maxsz =3D simd_maxsz(desc); @@ -88,11 +83,10 @@ void HELPER(gvec_add64)(void *d, void *a, void *b, uint= 32_t desc) void HELPER(gvec_adds8)(void *d, void *a, uint64_t b, uint32_t desc) { intptr_t oprsz =3D simd_oprsz(desc); - uint8_t vecb =3D (uint8_t)DUP16(b); intptr_t i; =20 for (i =3D 0; i < oprsz; i +=3D sizeof(uint8_t)) { - *(uint8_t *)(d + i) =3D *(uint8_t *)(a + i) + vecb; + *(uint8_t *)(d + i) =3D *(uint8_t *)(a + i) + (uint8_t)b; } clear_high(d, oprsz, desc); } @@ -100,11 +94,10 @@ void HELPER(gvec_adds8)(void *d, void *a, uint64_t b, = uint32_t desc) void HELPER(gvec_adds16)(void *d, void *a, uint64_t b, uint32_t desc) { intptr_t oprsz =3D simd_oprsz(desc); - uint16_t vecb =3D (uint16_t)DUP8(b); intptr_t i; =20 for (i =3D 0; i < oprsz; i +=3D sizeof(uint16_t)) { - *(uint16_t *)(d + i) =3D *(uint16_t *)(a + i) + vecb; + *(uint16_t *)(d + i) =3D *(uint16_t *)(a + i) + (uint16_t)b; } clear_high(d, oprsz, desc); } @@ -112,11 +105,10 @@ void HELPER(gvec_adds16)(void *d, void *a, uint64_t b= , uint32_t desc) void HELPER(gvec_adds32)(void *d, void *a, uint64_t b, uint32_t desc) { intptr_t oprsz =3D simd_oprsz(desc); - uint32_t vecb =3D (uint32_t)DUP4(b); intptr_t i; =20 for (i =3D 0; i < oprsz; i +=3D sizeof(uint32_t)) { - *(uint32_t *)(d + i) =3D *(uint32_t *)(a + i) + vecb; + *(uint32_t *)(d + i) =3D *(uint32_t *)(a + i) + (uint32_t)b; } clear_high(d, oprsz, desc); } @@ -124,11 +116,10 @@ void HELPER(gvec_adds32)(void *d, void *a, uint64_t b= , uint32_t desc) void HELPER(gvec_adds64)(void *d, void *a, uint64_t b, uint32_t desc) { intptr_t oprsz =3D simd_oprsz(desc); - uint64_t vecb =3D (uint64_t)DUP2(b); intptr_t i; =20 for (i =3D 0; i < oprsz; i +=3D sizeof(uint64_t)) { - *(uint64_t *)(d + i) =3D *(uint64_t *)(a + i) + vecb; + *(uint64_t *)(d + i) =3D *(uint64_t *)(a + i) + b; } clear_high(d, oprsz, desc); } @@ -180,11 +171,10 @@ void HELPER(gvec_sub64)(void *d, void *a, void *b, ui= nt32_t desc) void HELPER(gvec_subs8)(void *d, void *a, uint64_t b, uint32_t desc) { intptr_t oprsz =3D simd_oprsz(desc); - uint8_t vecb =3D (uint8_t)DUP16(b); intptr_t i; =20 for (i =3D 0; i < oprsz; i +=3D sizeof(uint8_t)) { - *(uint8_t *)(d + i) =3D *(uint8_t *)(a + i) - vecb; + *(uint8_t *)(d + i) =3D *(uint8_t *)(a + i) - (uint8_t)b; } clear_high(d, oprsz, desc); } @@ -192,11 +182,10 @@ void HELPER(gvec_subs8)(void *d, void *a, uint64_t b,= uint32_t desc) void HELPER(gvec_subs16)(void *d, void *a, uint64_t b, uint32_t desc) { intptr_t oprsz =3D simd_oprsz(desc); - uint16_t vecb =3D (uint16_t)DUP8(b); intptr_t i; =20 for (i =3D 0; i < oprsz; i +=3D sizeof(uint16_t)) { - *(uint16_t *)(d + i) =3D *(uint16_t *)(a + i) - vecb; + *(uint16_t *)(d + i) =3D *(uint16_t *)(a + i) - (uint16_t)b; } clear_high(d, oprsz, desc); } @@ -204,11 +193,10 @@ void HELPER(gvec_subs16)(void *d, void *a, uint64_t b= , uint32_t desc) void HELPER(gvec_subs32)(void *d, void *a, uint64_t b, uint32_t desc) { intptr_t oprsz =3D simd_oprsz(desc); - uint32_t vecb =3D (uint32_t)DUP4(b); intptr_t i; =20 for (i =3D 0; i < oprsz; i +=3D sizeof(uint32_t)) { - *(uint32_t *)(d + i) =3D *(uint32_t *)(a + i) - vecb; + *(uint32_t *)(d + i) =3D *(uint32_t *)(a + i) - (uint32_t)b; } clear_high(d, oprsz, desc); } @@ -216,11 +204,10 @@ void HELPER(gvec_subs32)(void *d, void *a, uint64_t b= , uint32_t desc) void HELPER(gvec_subs64)(void *d, void *a, uint64_t b, uint32_t desc) { intptr_t oprsz =3D simd_oprsz(desc); - uint64_t vecb =3D (uint64_t)DUP2(b); intptr_t i; =20 for (i =3D 0; i < oprsz; i +=3D sizeof(uint64_t)) { - *(uint64_t *)(d + i) =3D *(uint64_t *)(a + i) - vecb; + *(uint64_t *)(d + i) =3D *(uint64_t *)(a + i) - b; } clear_high(d, oprsz, desc); } @@ -272,11 +259,10 @@ void HELPER(gvec_mul64)(void *d, void *a, void *b, ui= nt32_t desc) void HELPER(gvec_muls8)(void *d, void *a, uint64_t b, uint32_t desc) { intptr_t oprsz =3D simd_oprsz(desc); - uint8_t vecb =3D (uint8_t)DUP16(b); intptr_t i; =20 for (i =3D 0; i < oprsz; i +=3D sizeof(uint8_t)) { - *(uint8_t *)(d + i) =3D *(uint8_t *)(a + i) * vecb; + *(uint8_t *)(d + i) =3D *(uint8_t *)(a + i) * (uint8_t)b; } clear_high(d, oprsz, desc); } @@ -284,11 +270,10 @@ void HELPER(gvec_muls8)(void *d, void *a, uint64_t b,= uint32_t desc) void HELPER(gvec_muls16)(void *d, void *a, uint64_t b, uint32_t desc) { intptr_t oprsz =3D simd_oprsz(desc); - uint16_t vecb =3D (uint16_t)DUP8(b); intptr_t i; =20 for (i =3D 0; i < oprsz; i +=3D sizeof(uint16_t)) { - *(uint16_t *)(d + i) =3D *(uint16_t *)(a + i) * vecb; + *(uint16_t *)(d + i) =3D *(uint16_t *)(a + i) * (uint16_t)b; } clear_high(d, oprsz, desc); } @@ -296,11 +281,10 @@ void HELPER(gvec_muls16)(void *d, void *a, uint64_t b= , uint32_t desc) void HELPER(gvec_muls32)(void *d, void *a, uint64_t b, uint32_t desc) { intptr_t oprsz =3D simd_oprsz(desc); - uint32_t vecb =3D (uint32_t)DUP4(b); intptr_t i; =20 for (i =3D 0; i < oprsz; i +=3D sizeof(uint32_t)) { - *(uint32_t *)(d + i) =3D *(uint32_t *)(a + i) * vecb; + *(uint32_t *)(d + i) =3D *(uint32_t *)(a + i) * (uint32_t)b; } clear_high(d, oprsz, desc); } @@ -308,11 +292,10 @@ void HELPER(gvec_muls32)(void *d, void *a, uint64_t b= , uint32_t desc) void HELPER(gvec_muls64)(void *d, void *a, uint64_t b, uint32_t desc) { intptr_t oprsz =3D simd_oprsz(desc); - uint64_t vecb =3D (uint64_t)DUP2(b); intptr_t i; =20 for (i =3D 0; i < oprsz; i +=3D sizeof(uint64_t)) { - *(uint64_t *)(d + i) =3D *(uint64_t *)(a + i) * vecb; + *(uint64_t *)(d + i) =3D *(uint64_t *)(a + i) * b; } clear_high(d, oprsz, desc); } @@ -559,11 +542,10 @@ void HELPER(gvec_eqv)(void *d, void *a, void *b, uint= 32_t desc) void HELPER(gvec_ands)(void *d, void *a, uint64_t b, uint32_t desc) { intptr_t oprsz =3D simd_oprsz(desc); - uint64_t vecb =3D (uint64_t)DUP2(b); intptr_t i; =20 for (i =3D 0; i < oprsz; i +=3D sizeof(uint64_t)) { - *(uint64_t *)(d + i) =3D *(uint64_t *)(a + i) & vecb; + *(uint64_t *)(d + i) =3D *(uint64_t *)(a + i) & b; } clear_high(d, oprsz, desc); } @@ -571,11 +553,10 @@ void HELPER(gvec_ands)(void *d, void *a, uint64_t b, = uint32_t desc) void HELPER(gvec_xors)(void *d, void *a, uint64_t b, uint32_t desc) { intptr_t oprsz =3D simd_oprsz(desc); - uint64_t vecb =3D (uint64_t)DUP2(b); intptr_t i; =20 for (i =3D 0; i < oprsz; i +=3D sizeof(uint64_t)) { - *(uint64_t *)(d + i) =3D *(uint64_t *)(a + i) ^ vecb; + *(uint64_t *)(d + i) =3D *(uint64_t *)(a + i) ^ b; } clear_high(d, oprsz, desc); } @@ -583,11 +564,10 @@ void HELPER(gvec_xors)(void *d, void *a, uint64_t b, = uint32_t desc) void HELPER(gvec_ors)(void *d, void *a, uint64_t b, uint32_t desc) { intptr_t oprsz =3D simd_oprsz(desc); - uint64_t vecb =3D (uint64_t)DUP2(b); intptr_t i; =20 for (i =3D 0; i < oprsz; i +=3D sizeof(uint64_t)) { - *(uint64_t *)(d + i) =3D *(uint64_t *)(a + i) | vecb; + *(uint64_t *)(d + i) =3D *(uint64_t *)(a + i) | b; } clear_high(d, oprsz, desc); } --=20 2.20.1 From nobody Mon May 6 02:34:12 2024 Delivered-To: importer@patchew.org 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; 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=1584471896; cv=none; d=zohomail.com; s=zohoarc; b=TsEyDmlowvDl/u9GjYDKRjJgD6CqtNo9gH/w7e48QtE1VWHAGvm2qPNyB3/TLTIS7l+H5D/MmGebj8knufg2VIW4oQbuJ0LbQsbeXRoNuw1vVOyeM1Nz2ei9XpSLetk7bw8omgKoyCyqMRlcEIB5H6xvNSmaS4p2HyYHLsJFX68= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1584471896; 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=cjiEN6evoksJ22gJdgVrmGMglErN9l7nWJMK6r0f5rQ=; b=cE59uG5DruLKgDhBbqUl1KRPlfsMuZf1po0X9qLm5p2egpvT0UdO4MPAVG4z+aUwcCa2jw/jf3IisMXi1Pfr0DjCo1009kJy+S3tTlKIBAMDPPL2CAE8YAaCBr2VibGs5O0BKT0axNzZOwxjndfQEVli9kGRPx5cln2M3zcNkdc= 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 1584471896747211.56244680744055; Tue, 17 Mar 2020 12:04:56 -0700 (PDT) Received: from localhost ([::1]:39978 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jEHWJ-0003bf-Kl for importer@patchew.org; Tue, 17 Mar 2020 15:04:55 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33331) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jEHRx-0007G1-5m for qemu-devel@nongnu.org; Tue, 17 Mar 2020 15:00:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jEHRw-0004iv-1w for qemu-devel@nongnu.org; Tue, 17 Mar 2020 15:00:25 -0400 Received: from mail-pf1-x42e.google.com ([2607:f8b0:4864:20::42e]:35567) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jEHRv-0004eO-RO for qemu-devel@nongnu.org; Tue, 17 Mar 2020 15:00:23 -0400 Received: by mail-pf1-x42e.google.com with SMTP id u68so12461172pfb.2 for ; Tue, 17 Mar 2020 12:00:23 -0700 (PDT) Received: from localhost.localdomain (97-126-123-70.tukw.qwest.net. [97.126.123.70]) by smtp.gmail.com with ESMTPSA id y13sm3738411pfp.88.2020.03.17.12.00.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Mar 2020 12:00:21 -0700 (PDT) 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=cjiEN6evoksJ22gJdgVrmGMglErN9l7nWJMK6r0f5rQ=; b=BGfglrrdGEDaRy8KlNhNP5WNVPSYFSqebEGhUJXsQRGcgeLX7WtOHjk4NPiJ0TLJ2J 02eQrrlbwUBKAVBKnnT6mx4OmlCShgO2tVDB6gXaIs3ak2Z92Uvp999dhDfp0pY/kH9H +meosza+IBTpfZpi6xZJQ/fAf5vJAiGHZRJn1G7GGtyPqpweg9iwi+38qxasbQHsgLeu eOsWhrKSTTA0kZw7QVxfTvH0XIGAEWjevX9I5HE/NsY16cdks+eH/zvmKy99swGD9wUC JNgbsIxU6zvQOezC8nN/aLQsQQ4+7BV+cTvzDT/2JEKdyxCAWcbVOkP/YZ6+6ElmDagr 2okQ== 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=cjiEN6evoksJ22gJdgVrmGMglErN9l7nWJMK6r0f5rQ=; b=arbKbuuUQZRLpLSUjOspvsijWAZDbsfwETp1zH470z9kE+NxberdW1aK1lryUHzL/B QJ30ruDOz63qnWTq4I8w6jl7QMbbEYUNi7Ric8FOjPH0MoVB989rFZGqOq/F0etMj1RV W/HWQM0iFyHgFIX3ZP+3D08hr2kNboyptT+szu47dn8JSXtAa9eAgnIfyZ70l56/PHuK 4tqsYI89S2Nz7NMw9gqdqPJ+jKVKnZDQIoVF4qUcJgTOCglem8n+i8klIeGQrhC0M/kH b4sm6iRO/+YQhO551yDWYvi0f9y0mLjpfoEd3iz+MMEmP1n1q9oQ5l9NNuc/uiReZLPd fcGA== X-Gm-Message-State: ANhLgQ2JI/mDfK8RlzeoIxl2uYaGInzis15ji/DNLffXWL+SUPtWnQ6b CDNiY5x/mtYYi4tdyIctf6mdYuPKuIU= X-Google-Smtp-Source: ADFU+vucuS4CkbmYWgpOYKlwz8NBYryHna1r7ybHokMcFicNYEb0O5KKB1ij2YV862OxUR5egJAx4w== X-Received: by 2002:a62:7ad7:: with SMTP id v206mr169673pfc.181.1584471622374; Tue, 17 Mar 2020 12:00:22 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PULL 5/5] tcg: Remove tcg-runtime-gvec.c DO_CMP0 Date: Tue, 17 Mar 2020 12:00:13 -0700 Message-Id: <20200317190013.25036-6-richard.henderson@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200317190013.25036-1-richard.henderson@linaro.org> References: <20200317190013.25036-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::42e 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 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" Partial cleanup from the CONFIG_VECTOR16 removal. Replace DO_CMP0 with its scalar expansion, a simple negation. Signed-off-by: Richard Henderson --- accel/tcg/tcg-runtime-gvec.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/accel/tcg/tcg-runtime-gvec.c b/accel/tcg/tcg-runtime-gvec.c index f2199f14b4..ca449702e6 100644 --- a/accel/tcg/tcg-runtime-gvec.c +++ b/accel/tcg/tcg-runtime-gvec.c @@ -860,15 +860,13 @@ void HELPER(gvec_sar64v)(void *d, void *a, void *b, u= int32_t desc) clear_high(d, oprsz, desc); } =20 -#define DO_CMP0(X) -(X) - #define DO_CMP1(NAME, TYPE, OP) = \ void HELPER(NAME)(void *d, void *a, void *b, uint32_t desc) = \ { = \ intptr_t oprsz =3D simd_oprsz(desc); = \ intptr_t i; = \ for (i =3D 0; i < oprsz; i +=3D sizeof(TYPE)) { = \ - *(TYPE *)(d + i) =3D DO_CMP0(*(TYPE *)(a + i) OP *(TYPE *)(b + i))= ; \ + *(TYPE *)(d + i) =3D -(*(TYPE *)(a + i) OP *(TYPE *)(b + i)); = \ } = \ clear_high(d, oprsz, desc); = \ } @@ -886,7 +884,6 @@ DO_CMP2(16) DO_CMP2(32) DO_CMP2(64) =20 -#undef DO_CMP0 #undef DO_CMP1 #undef DO_CMP2 =20 --=20 2.20.1