From patchwork Fri Feb 15 19:22:54 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 158539 Delivered-To: patch@linaro.org Received: by 2002:a02:48:0:0:0:0:0 with SMTP id 69csp1064032jaa; Fri, 15 Feb 2019 11:27:18 -0800 (PST) X-Google-Smtp-Source: AHgI3IZj+lIDMQPgStMwZDbbiP09MwxnLD8WTyDTWHm27K0esyKHk57bze6HMpvQ/j+pNx6xvQh4 X-Received: by 2002:a81:6f42:: with SMTP id k63mr9650057ywc.512.1550258838466; Fri, 15 Feb 2019 11:27:18 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1550258838; cv=none; d=google.com; s=arc-20160816; b=ok6runrvgOIUCPKGTVRgbzVJNnTAAaXMBw/RM0mSXaTxZZ7uTn4w2kxOtBwmLUr4ig BI9v1FHU45G+L7TQUR1QCIvEjtaTlKA0F+JvZP5VRFTFttP5K3ErL4TfXnqNEXxPYndy hYuI2ZBYhAYXhnnKSR6bGsZsYdsynCnwBUY/gCbSMLFs49yipF6HlUaID2KrKOXBetcT i1CmH/yUWw+4n33Wcjy+vyQAWkE+jLfzjtvsricC0FHD7HC7YAr0fT3ilCzxAkxFepAl pxuVduAokz15oYYQJRmSRBjovSm9pqO80liqSWt7970XINqsZC5HNH0EUoI53l8HktsE KphA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:subject:message-id:date:to:from :dkim-signature; bh=AvFVqCb9xqHj1KOGYbvmHCwEG/CvuD4Yp2GUWZ6YTcU=; b=PKW0oab9eb/uhQmd2/8XvJujNZtxrO716LbgZGu3pHFo6sX2MFdkAM0Gg4Tt4JbRhQ /fvH32wTkfjG75q6oANQCy8FvqeJIkJzHt54kVayoutxNbQ1CEVg5M+frm91WKmgQ5Gd WH0EIkjxw5DtDDiDZgwZXuYWngAWigar/LWKP+/N/grNpRLk1YAhiu1RzU9NW8w6tC8J cKKscpEp7qMizwZgLDItcaZ0VHsMBdx0/R1IA/09fPCdAAatmrbaGz9YovYW/GcL5uqe rxMkRz8W5j67s/8kImHeQP8o+hkLXxHC+ezJToc+xHUY/tug/Du0gp+C513KMMvvV/cm WEHg== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=lMKStMPX; 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=fail (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 i196si4433755ywc.3.2019.02.15.11.27.18 for (version=TLS1 cipher=AES128-SHA bits=128/128); Fri, 15 Feb 2019 11:27:18 -0800 (PST) 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=fail header.i=@linaro.org header.s=google header.b=lMKStMPX; 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=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([127.0.0.1]:45078 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1guj8n-0007Xf-Rz for patch@linaro.org; Fri, 15 Feb 2019 14:27:17 -0500 Received: from eggs.gnu.org ([209.51.188.92]:33291) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1guj4m-0005Iu-01 for qemu-devel@nongnu.org; Fri, 15 Feb 2019 14:23:08 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1guj4l-00035D-5E for qemu-devel@nongnu.org; Fri, 15 Feb 2019 14:23:07 -0500 Received: from mail-pf1-x444.google.com ([2607:f8b0:4864:20::444]:38239) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1guj4k-000338-PQ for qemu-devel@nongnu.org; Fri, 15 Feb 2019 14:23:06 -0500 Received: by mail-pf1-x444.google.com with SMTP id q1so5281734pfi.5 for ; Fri, 15 Feb 2019 11:23:06 -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; bh=AvFVqCb9xqHj1KOGYbvmHCwEG/CvuD4Yp2GUWZ6YTcU=; b=lMKStMPXZsq8spAxz1QuYGMYGBGpBsnXMGBZ60npQCZ/X4F1+529gff474xw/nUKv/ j5wedqo/aGsWakMpsqddcSCpKKznaX4IJmj5iKWu2ITkguf+QuzjClwKzq0n1uPMw2cu plBSvRsEfhW6sUBUtuVsrz1zZ3B2JH+3naKZazSGX46VrDl+TWipDR7LJvY4f3ULY+0r 0P6SBa6RYtOy/owtv9f4qCnU1Bt2su5kD5ZrdclWDL39Gj6ctvhQnv+LTYMz7hdTSNxT e1nWBcFgXQm/IFuMriITpqQZ3vXBTNWpa7vuEZn01GhyOBYl8DiuXWe0MGElN+7Kt7Si XHtA== 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; bh=AvFVqCb9xqHj1KOGYbvmHCwEG/CvuD4Yp2GUWZ6YTcU=; b=sZSMNYU8wZ8iF0QyqzpszsVE6TH5WKEKrlqbWS31cUCA6YHgnc7DUr9Q5vLvQgFAwG 6cmYx3aBFasQJ7/yyRAxChbljPLm2DWnsJ1QN2knWhAm0L7RWwr6R7KhdCf3021WyasL 00LIHqD9fDEXOwDebbeqvBWkveI5WQJ/0Jwxd3F9qUEC3aoVWecB/NN8qXKmu1KJoMSF MExoG1SInmFigwc5sA1AgWWvgfGDhZBSxjb3lJnMaRvSOmBOOoyNcqnQg5TtLgMBTh4B Tlt16SgqSlYUOIti1ZAFXSbQV569XFW3XrMj/aDk3Ib+NimqubUoqjP3g5AqbbPE4EwV etKg== X-Gm-Message-State: AHQUAubYoxi+0KW3MrYfi5rImRfhT+cyfyhasMd010Nf6smDOjIwIsYw YAiJHBYKjKkl3IowgCokRaHQTydI5js= X-Received: by 2002:a62:1303:: with SMTP id b3mr11709518pfj.147.1550258584723; Fri, 15 Feb 2019 11:23:04 -0800 (PST) Received: from cloudburst.twiddle.net (97-113-188-82.tukw.qwest.net. [97.113.188.82]) by smtp.gmail.com with ESMTPSA id o85sm15161596pfi.105.2019.02.15.11.23.03 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 15 Feb 2019 11:23:03 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Date: Fri, 15 Feb 2019 11:22:54 -0800 Message-Id: <20190215192302.27855-1-richard.henderson@linaro.org> X-Mailer: git-send-email 2.17.2 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::444 Subject: [Qemu-devel] [PATCH v4 0/8] target/arm: Implement ARMv8.3-JSConv & ARMv8.2-FHM X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Changes since v3: Rebased on master, and combined the JSConv and FHM patch sets. There were a number of patch conflicts which needed fixing up. Changes since v2: Patch 2 splits out vfp_helper.c, which I wrote for something else. But while rebasing it occured to me that helper_vjcvt is better placed in vfp_helper.c than op_helper.c, so why not include it here and now. Patch 3 corresponds to the v2 patch 1, but totally rewritten. What I missed the first time around is that register Sn is encoded differenly than Dn, so merely setting dp = 0 doesn't help because we've already decoded the register number incorrectly. Therefore, replace some really ugly if conditions and set some variables as appropriate. Patch 4 is adjusted to match the change in decode from patch 2, and putting the aa32 flags in the right place. r~ Richard Henderson (8): target/arm: Restructure disas_fp_int_conv target/arm: Split out vfp_helper.c target/arm: Rearrange Floating-point data-processing (2 regs) target/arm: Implement ARMv8.3-JSConv target/arm: Add helpers for FMLAL target/arm: Implement FMLAL and FMLSL for aarch64 target/arm: Implement VFMAL and VFMSL for aarch32 target/arm: Enable ARMv8.2-FHM for -cpu max target/arm/cpu.h | 20 + target/arm/helper.h | 8 + target/arm/cpu.c | 2 + target/arm/cpu64.c | 4 + target/arm/helper.c | 1062 -------------------------------- target/arm/translate-a64.c | 170 ++++-- target/arm/translate.c | 340 ++++++----- target/arm/vec_helper.c | 114 ++++ target/arm/vfp_helper.c | 1176 ++++++++++++++++++++++++++++++++++++ target/arm/Makefile.objs | 2 +- 10 files changed, 1644 insertions(+), 1254 deletions(-) create mode 100644 target/arm/vfp_helper.c -- 2.17.2