From patchwork Sun May 16 12:33:45 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 439841 Delivered-To: patch@linaro.org Received: by 2002:a02:7a1b:0:0:0:0:0 with SMTP id a27csp253297jac; Sun, 16 May 2021 05:36:18 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzP0QttzkcRK7ARKaSyElL3/uuACnz898H3L1g1bjcO11xkAZvbEn2n53uRrA/yrWL3KGMw X-Received: by 2002:ae9:e706:: with SMTP id m6mr42253258qka.74.1621168578319; Sun, 16 May 2021 05:36:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1621168578; cv=none; d=google.com; s=arc-20160816; b=0BippSIrhpOn/IF+4BPVNh/Ebvcb1veXY7G1Ux+02L138knV4V7tyxXpcnezuVnpOE 2YaR06f/4TiKKXHImS+jI3sz0yMT+MZFlZNGE1Ijgnt5bDULCU83S33NaiqehSUM94uq TA0xnJjoro5AqOtIKxnF14TpeMU4ZOWbRd8GHJnRoSN1vSZggcaDbprTjTlp0qHvoFEa IkM5m8G1mgtEkN3UbZsjTWx8CJ3x2bWT/U8QOldns2qfKig8eqsOIyKZklaMldUtMBNu yMjunuqR7S7dg+fYEjHEl6gstqrrW1TuhwcvIRzsS6Nn5khDW/NAkZ4s9KeqrNidp+SX BxXg== 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:content-transfer-encoding :mime-version:message-id:date:subject:to:from:dkim-signature; bh=BdKKalUDsBdZ5mvHPRA2ZgGVxN6FNBUzJI7icAKloPM=; b=Jsub+QqJRa7f6ddulZSsN2YLEg8qfq6YVFh5Jjx9azbrKbslolaqA6ebTriEXGpqk3 TnkKZISuNpwPgaZy/D58eWhbPPomxvYzp7diSELYT13PUv4yJFT4gmLMnYDd/7M5Bmex TFLwsVh8JoCh5MksoUEkxOXgdSz/gMfF6P8nmZVCLaI+9iCwKYUHnh/w6WrwyaDl+Xmj 6nwh9ov2icKhL2BX2kzQhKiLRKjV+BG5SeP1yL+JePMS/PYAbQnfzv8L65lisUrhFxhl iXww0yquTaHbGmkggoK+83NNcuU0rLwxTnuLqTqRpzH/22Vhyk+R/OHD2sVwdOsTj6fu JTng== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=GZzBicA3; 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 g4si9452895qtg.138.2021.05.16.05.36.18 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 16 May 2021 05:36:18 -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=GZzBicA3; 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]:52230 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1liG0H-0007AO-MG for patch@linaro.org; Sun, 16 May 2021 08:36:17 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:42832) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1liFye-00079o-CY for qemu-devel@nongnu.org; Sun, 16 May 2021 08:34:36 -0400 Received: from mail-qt1-x833.google.com ([2607:f8b0:4864:20::833]:38500) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1liFyc-0007cg-By for qemu-devel@nongnu.org; Sun, 16 May 2021 08:34:36 -0400 Received: by mail-qt1-x833.google.com with SMTP id h21so3018158qtu.5 for ; Sun, 16 May 2021 05:34:33 -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:mime-version :content-transfer-encoding; bh=BdKKalUDsBdZ5mvHPRA2ZgGVxN6FNBUzJI7icAKloPM=; b=GZzBicA3ON8oEHDsENXVdKalFA5ouS/eXp5Wetbx2Ocyr+DSXBPV0G0oow19XGYs9x TLO3BE6nlGavnJuDttZrIHeYyjqkwDNyOQRRbTTGcUCAp0K8O6zxApWVerOR0Z1a/QWc itCvsGQimU5sAk/oD0umWvZwX9RWmIDxX3KKJ/8Q/Mjf74Xj7UiYfVhYxz0PW9NuotsQ nXqoAlaiuefqUJrVI1ZJDwkub+vdfzOfO9/cVVKhglHFMUGDzt+xKvz6T2sHJj+Iwhye Zv1jKmtY/q9HnedsL1G76n9Hpks3h9mfitAAETIJoKuv/ubVPogIGuiZfMSPNXpEzT7n 1BXg== 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:mime-version :content-transfer-encoding; bh=BdKKalUDsBdZ5mvHPRA2ZgGVxN6FNBUzJI7icAKloPM=; b=l9CCR3k3B62JG8DoMrKGfIilO9msqwMObwQgv8imR6Ymhh20ofR9xzSlNYySh6jV0o TDe1D8oB8xk+/bW2GC1FWd5GiwUELIscF5AjTJ0uwXR8gIpy9Td4C1AF0wNYJ5bgzvwC oZRruPsEJLrjWQ2VyTBUxpG27PMUmcsbmQfW2HlUhhecTuyfMMcgX4QuzehvaDeMYVd5 6Fm4bJXD4aem6Gq4VNdIPnYIFrHT314WBvHZIRKoOHZtSXc8iVeyihJRLF5JuRwZnZj2 h8vIRiAfBLYv05bZBeeWuOhh7EXI2RFQEDI8DMOi3aocRZAzx+MM9ptbUexg/gw7HLl8 ieLg== X-Gm-Message-State: AOAM532aovW7qjrDNEgD3nzXk0xYpqtknoON443CWicVFcClsDpOaCi+ 87/0OQUp+p0vUND/2DCuL/W2l2brxbPrjQWfD6Q= X-Received: by 2002:ac8:7c4b:: with SMTP id o11mr25765060qtv.336.1621168472867; Sun, 16 May 2021 05:34:32 -0700 (PDT) Received: from localhost.localdomain (163.189-204-200.bestelclientes.com.mx. [189.204.200.163]) by smtp.gmail.com with ESMTPSA id s5sm8500553qkg.88.2021.05.16.05.34.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 16 May 2021 05:34:32 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PULL 00/46] softfloat: Convert float128 to FloatParts (part 1) Date: Sun, 16 May 2021 07:33:45 -0500 Message-Id: <20210516123431.718318-1-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::833; envelope-from=richard.henderson@linaro.org; helo=mail-qt1-x833.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 Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" We have 46 of 72 patches reviewed, and they include ones that are of express intrest to David, for s390x. Let's merge these so that the next patch set is much smaller. r~ The following changes since commit 6d34aa9969ff85ca6eaeb4dc1988a4d4e13e7d79: Merge remote-tracking branch 'remotes/marcandre/tags/rtd-pull-request' into staging (2021-05-14 17:20:08 +0100) are available in the Git repository at: https://gitlab.com/rth7680/qemu.git tags/pull-fp-20210516 for you to fetch changes up to 463b3f0d7fa11054daeb5ca22346f77d566795bf: softfloat: Move round_to_int_and_pack to softfloat-parts.c.inc (2021-05-16 07:13:51 -0500) ---------------------------------------------------------------- Reorg FloatParts to use QEMU_GENERIC. Begin replacing the Berkeley float128 routines with FloatParts128. - includes a new implementation of float128_muladd - includes the snan silencing that was missing from float{32,64}_to_float128 and float128_to_float{32,64}. - does not include float128_min/max* (written but not yet reviewed). ---------------------------------------------------------------- Alex Bennée (1): tests/fp: add quad support to the benchmark utility Richard Henderson (45): qemu/host-utils: Use __builtin_bitreverseN qemu/host-utils: Add wrappers for overflow builtins qemu/host-utils: Add wrappers for carry builtins accel/tcg: Use add/sub overflow routines in tcg-runtime-gvec.c softfloat: Move the binary point to the msb softfloat: Inline float_raise softfloat: Use float_raise in more places softfloat: Tidy a * b + inf return softfloat: Add float_cmask and constants softfloat: Use return_nan in float_to_float softfloat: fix return_nan vs default_nan_mode target/mips: Set set_default_nan_mode with set_snan_bit_is_one softfloat: Do not produce a default_nan from parts_silence_nan softfloat: Rename FloatParts to FloatParts64 softfloat: Move type-specific pack/unpack routines softfloat: Use pointers with parts_default_nan softfloat: Use pointers with unpack_raw softfloat: Use pointers with ftype_unpack_raw softfloat: Use pointers with pack_raw softfloat: Use pointers with ftype_pack_raw softfloat: Use pointers with ftype_unpack_canonical softfloat: Use pointers with ftype_round_pack_canonical softfloat: Use pointers with parts_silence_nan softfloat: Rearrange FloatParts64 softfloat: Convert float128_silence_nan to parts softfloat: Convert float128_default_nan to parts softfloat: Move return_nan to softfloat-parts.c.inc softfloat: Move pick_nan to softfloat-parts.c.inc softfloat: Move pick_nan_muladd to softfloat-parts.c.inc softfloat: Move sf_canonicalize to softfloat-parts.c.inc softfloat: Move round_canonical to softfloat-parts.c.inc softfloat: Use uadd64_carry, usub64_borrow in softfloat-macros.h softfloat: Move addsub_floats to softfloat-parts.c.inc softfloat: Implement float128_add/sub via parts softfloat: Move mul_floats to softfloat-parts.c.inc softfloat: Move muladd_floats to softfloat-parts.c.inc softfloat: Use mulu64 for mul64To128 softfloat: Use add192 in mul128To256 softfloat: Tidy mul128By64To192 softfloat: Introduce sh[lr]_double primitives softfloat: Move div_floats to softfloat-parts.c.inc softfloat: Split float_to_float softfloat: Convert float-to-float conversions with float128 softfloat: Move round_to_int to softfloat-parts.c.inc softfloat: Move round_to_int_and_pack to softfloat-parts.c.inc include/fpu/softfloat-macros.h | 213 +-- include/fpu/softfloat.h | 7 +- include/qemu/host-utils.h | 291 +++ target/mips/fpu_helper.h | 10 +- accel/tcg/tcg-runtime-gvec.c | 36 +- fpu/softfloat.c | 3701 ++++++++++++++++---------------------- tests/fp/fp-bench.c | 88 +- tests/fp/fp-test.c | 2 +- fpu/softfloat-parts-addsub.c.inc | 62 + fpu/softfloat-parts.c.inc | 817 +++++++++ fpu/softfloat-specialize.c.inc | 84 +- tests/fp/wrap.c.inc | 12 + 12 files changed, 2974 insertions(+), 2349 deletions(-) create mode 100644 fpu/softfloat-parts-addsub.c.inc create mode 100644 fpu/softfloat-parts.c.inc