From patchwork Thu Aug 31 03:07:12 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 718945 Delivered-To: patch@linaro.org Received: by 2002:adf:e5c2:0:b0:31d:da82:a3b4 with SMTP id a2csp244373wrn; Wed, 30 Aug 2023 20:08:02 -0700 (PDT) X-Google-Smtp-Source: AGHT+IELsbVWSNfHeQ6n08G4a8cqhrmf6YmxfNxxro92zvvPbvnSQlRFKiHpCgmmL1ixBcySHauO X-Received: by 2002:a05:620a:13c7:b0:76f:19fd:5064 with SMTP id g7-20020a05620a13c700b0076f19fd5064mr1379936qkl.33.1693451281778; Wed, 30 Aug 2023 20:08:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1693451281; cv=none; d=google.com; s=arc-20160816; b=SaEY6zBITP3/Q8sDwIXQG9ByyxcIPSsaHlkMEm8UAyTW22jIXxu0n+2+dnvPFabQcG hd1YNif6sAPKJLJlpK8QCWniiz9Z8h9numotHCBwdZALaxBWwWs8I/J78N75IeIBssHx i864soiWAPMDEI63nat9d7K5/NUkMTK1YZ2AJA3NqWhv8a/5EHbEnLu6Wq9loXOXLmmF lpyn1WWnktlnh6P6aSHTHiA961u8v1Ve2aLY+VAufHSzb5hGq2Pt1wziefsDar9U5z2+ NNkuKXjUPS/+jL9AO4eVRl7s/At+hdJdyBUpOnWkj4ZNgPYDbWgdS3o+cdDCn5OpSaXV IpXA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:message-id:date:subject:to:from:dkim-signature; bh=5jv2+o/B1cTYH25aaMEaBjme7IEo1fF2dHAw0qWfKgU=; fh=PnYt+qEB9tAfMKoqBm2xjKOFpYyFFGPudh5cVIoieJM=; b=rSspdPk4WkFOKHFDcV7CotA8aak2bbHgzfxBIYpYIrarArElxnLvulxn7Qp1uTthCJ uozgJs7671r6pm/pGDmRLSpfVqEW7uf2ttfF9YApG3B/SMZ6TEwfL9AfTw3L+Vr03A0J E2n4e41o8ozx7GfbRPsvlFncirw2ifq45J5Y7Jio4995vHOwC+xenKNfn9ejAw5cdBDH 9bVYyDgmmx139KdjfHdIA2jqBfbKdEnkdLnRNkPVSdO/5pIPS/1udCKw8d5UgxEIMb0u h5Ho08bo6eeK51zwYxmmIBy9erkxmkwn6Fyx1CNiCj71Lon/1iLaUx38hQUumKF+HwMG RgRQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=grqfwBIz; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id b2-20020a05620a126200b0076ce5cbfc82si342066qkl.389.2023.08.30.20.08.01 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 30 Aug 2023 20:08:01 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=grqfwBIz; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qbY1h-0003XY-1X; Wed, 30 Aug 2023 23:07:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qbY1f-0003X6-W7 for qemu-devel@nongnu.org; Wed, 30 Aug 2023 23:07:20 -0400 Received: from mail-pl1-x62c.google.com ([2607:f8b0:4864:20::62c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qbY1d-00012h-Ql for qemu-devel@nongnu.org; Wed, 30 Aug 2023 23:07:19 -0400 Received: by mail-pl1-x62c.google.com with SMTP id d9443c01a7336-1bdbf10333bso2570545ad.1 for ; Wed, 30 Aug 2023 20:07:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1693451236; x=1694056036; darn=nongnu.org; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc:subject:date:message-id:reply-to; bh=5jv2+o/B1cTYH25aaMEaBjme7IEo1fF2dHAw0qWfKgU=; b=grqfwBIzZhjjMxNM9d6UIEixiKP5a0JYrsmB79gST6YYEVtL24XlrGVGl4a/R2sAv4 kcSsebofVjcCszj7gAg5HgOeUhoNN+smkT3oHKD4bPAHx24D+ugNPuHvykOrVUEJ8u8c Ch3bOfjAVqlokbTKDO2xycVnXgQGEmIhE3Z7ChJeK6ggR7B2VxSxNAXAuYXsCDltyQKZ I39ckOpDEjQ9QQ/7tCZtRUi+/RmEfv59R+7ZAUKl802RY3hKfO3iYZ041gtfj2vlDjNQ 2oLzlVwwkdz/xfWYhdnJcOV7AM0NjgtjEBloOCMq9BkLs++WoC4mowwO0Gx3RJ90AmQB S3Yg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1693451236; x=1694056036; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=5jv2+o/B1cTYH25aaMEaBjme7IEo1fF2dHAw0qWfKgU=; b=CkS74wRm2AYKcuMAWQqR4U5sIgN7XW50V3wSF2g6wtIWm9LoJsqtVlZnyjfGxlZI+t HH2W3vQLvGyHefybzEY6jPSbWKJhhLI02+lyhRo5dDnWw3YyeZp5SCu+3J4GhD1qyX8T 9sVHPLOjfb0P9zNeT0G2VJibd9ObUE2hjRHm/2LLat7bHYH4E3u2Iwi/MAHrAf8vGlgy p5RIJuJmSKk0r7WezfYtU+ySU+Z9gn1EBN75SerQHCLggQabmG+FDLc3dIC+gnqxXU5r Zl9duQVwzZKXCuYY7kYeaYMNHKiA2eA5DF9Kx+NS4kxXsM2aP3KXdaNQrDSAHF4VNRHD FA7g== X-Gm-Message-State: AOJu0YysNonpxSR1iFT1Ykir+B+cQdL2H/VSvvi/jbvNgkAo7Dmt5XDx gKt4RbQxzQPVqdGz17TasJ8Cah1v6DIgk+I0v/E= X-Received: by 2002:a17:903:187:b0:1bd:b7ad:a584 with SMTP id z7-20020a170903018700b001bdb7ada584mr5214542plg.44.1693451236227; Wed, 30 Aug 2023 20:07:16 -0700 (PDT) Received: from stoup.. ([71.212.131.115]) by smtp.gmail.com with ESMTPSA id ju19-20020a170903429300b001b8c689060dsm228847plb.28.2023.08.30.20.07.15 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 30 Aug 2023 20:07:15 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 0/2] tcg: Streamline vector load/store Date: Wed, 30 Aug 2023 20:07:12 -0700 Message-Id: <20230831030714.1194595-1-richard.henderson@linaro.org> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::62c; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x62c.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.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org We have tcg_gen_qemu_{ld,st}_i128, which can be used to implement load/store of vectors to guest memory. But at present we have to split into, or concatenated from, two i64 to reference the guest vector register backing store within env. Provide tcg_gen_{ld,st}_i128, which can avoid the trip through i64. This does require that the target store i128 in host byte ordering, which is true of i386 (and some other backends) but not arm or s390x. There is definitely further cleanup possible. r~ Richard Henderson (2): tcg: Add tcg_gen_{ld,st}_i128 target/i386: Use i128 for 128 and 256-bit loads and stores include/tcg/tcg-op-common.h | 3 ++ target/i386/tcg/translate.c | 61 ++++++++++++++++--------------------- tcg/tcg-op.c | 22 +++++++++++++ 3 files changed, 52 insertions(+), 34 deletions(-)