Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.2/patches/2234613/?format=api
{ "id": 2234613, "url": "http://patchwork.ozlabs.org/api/1.2/patches/2234613/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260507221717.486023-8-richard.henderson@linaro.org/", "project": { "id": 14, "url": "http://patchwork.ozlabs.org/api/1.2/projects/14/?format=api", "name": "QEMU Development", "link_name": "qemu-devel", "list_id": "qemu-devel.nongnu.org", "list_email": "qemu-devel@nongnu.org", "web_url": "", "scm_url": "", "webscm_url": "", "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20260507221717.486023-8-richard.henderson@linaro.org>", "list_archive_url": null, "date": "2026-05-07T22:17:06", "name": "[07/18] fpu: Use get_floatx80_behaviour everywhere", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "846d6a903b71881bd1f454debd927afc30b11825", "submitter": { "id": 72104, "url": "http://patchwork.ozlabs.org/api/1.2/people/72104/?format=api", "name": "Richard Henderson", "email": "richard.henderson@linaro.org" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260507221717.486023-8-richard.henderson@linaro.org/mbox/", "series": [ { "id": 503289, "url": "http://patchwork.ozlabs.org/api/1.2/series/503289/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=503289", "date": "2026-05-07T22:16:59", "name": "fpu: Compress float_status", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/503289/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2234613/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2234613/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>", "X-Original-To": "incoming@patchwork.ozlabs.org", "Delivered-To": "patchwork-incoming@legolas.ozlabs.org", "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256\n header.s=google header.b=aMNBDDE+;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists1p.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)" ], "Received": [ "from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4gBRVV2szRz1yCg\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 08 May 2026 08:18:58 +1000 (AEST)", "from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists1p.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1wL72G-0000rB-LV; Thu, 07 May 2026 18:17:36 -0400", "from eggs.gnu.org ([2001:470:142:3::10])\n by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <richard.henderson@linaro.org>)\n id 1wL72E-0000pn-85\n for qemu-devel@nongnu.org; Thu, 07 May 2026 18:17:34 -0400", "from mail-oa1-x30.google.com ([2001:4860:4864:20::30])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)\n (Exim 4.90_1) (envelope-from <richard.henderson@linaro.org>)\n id 1wL72B-0003D1-Lf\n for qemu-devel@nongnu.org; Thu, 07 May 2026 18:17:33 -0400", "by mail-oa1-x30.google.com with SMTP id\n 586e51a60fabf-40ede943bf0so1070383fac.2\n for <qemu-devel@nongnu.org>; Thu, 07 May 2026 15:17:31 -0700 (PDT)", "from stoup.attlocal.net ([2600:381:c938:6375:9641:bbb2:a93a:bb4c])\n by smtp.gmail.com with ESMTPSA id\n 586e51a60fabf-435573e7254sm45037fac.14.2026.05.07.15.17.28\n for <qemu-devel@nongnu.org>\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Thu, 07 May 2026 15:17:28 -0700 (PDT)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=linaro.org; s=google; t=1778192249; x=1778797049; darn=nongnu.org;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:to:from:from:to:cc:subject:date:message-id\n :reply-to; bh=g3dJawXa8mZF25lb4548tyk5sXY0Sa8giHPPus3KxDI=;\n b=aMNBDDE+9dJ6V6ZMyUM1ZwVSLdDXmjZFRGRPzHhcgNGx9Sd/+Bcv10vXnRbACCL2lv\n M7U0M0vbI7HMIETgli1JibjNxAPgfEzDnF5TVp17Wb9q81of8f9F+1TTJRhtqiZ2CwTP\n nCvJqT5yL++nQ3k1weopZoOQgWduXW0NAcCPWoKp4sqi315saO8rCcR2I6L34xjkb649\n br1twcm69p6S89JN9QFWrzSdTq1yo4s8kND8wu+y8gkcPvHdPAh/ZSG6W9i2OUwepTEb\n beP04P8zKHEkljj9ALHdsz6+39XAZJ/uN/2c0MsBOKwlShbaDsQjUb9g63e4eEDI6LgJ\n 5t1A==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1778192249; x=1778797049;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to\n :cc:subject:date:message-id:reply-to;\n bh=g3dJawXa8mZF25lb4548tyk5sXY0Sa8giHPPus3KxDI=;\n b=T74yCgyeSrkz9C8/LIksgH3V2ykvsM7FqpM2yAPQ1rUdTCoXl2TYG1CfdXUImPFaqp\n WMfX3GIMXyEhF/YxhT4r79f7S/gCDuekSjmzs4xsiUurzy2xBkFTfQhUzqBGvCM5rsu6\n zAzqhpo3/WBXX3VESgQoMDJRhguRclJLRIQ7VxpmrBq7V00D1+ikS5chpCgmimrPRjGE\n NVQeJcZIcHWTR+rsHtdHAJ9D5k+qVma5GTVm9JMqGl6mxLsvVS6PPj9Xo2+5CyKV/UpX\n j/I/OP0+fIYzyYPPO9vv07QnL2cc17i4eCjMbUe130+9Da/zTOAyWQLAGs6liIEya5yj\n wrLQ==", "X-Gm-Message-State": "AOJu0YwscHQ3JDr2tEg3sWEQm8Bk1wW/pAi8/1hGc3ihw3G2cSD0tLJI\n fexL5i0NPjkJeLTaVXbQPq8VnJvTZIN+aP8uCiTcC8kT5CmA+/QsJXue6D7QVolRk7QlkSRqqK0\n p4Q/E", "X-Gm-Gg": "AeBDies78HtDA8enIj3x8lkrdBti9ZtTwRGyoRG07F7uRmC3O4OXALz577nn54n3SfA\n rEKFNsqFSA3CjhNuSi748ex+uF54pO2WOQtbfmMmrwGPVnXjaf890vmrPQh1HCv2Nf4yvCPNj4S\n X/vmDIBrw+EY4Zgk3Uj+oRBGGvFz2DGLHv97JlG15BNgrcOkyK7SqNRZMImLLfKHpp/bmtGBrVY\n PDuMnDuVIIEy/TLRbr1m/gE0D12I6cLxu39fr2soR3EFCqUYNAIgi5W1S8G9ZsWxppgk4Z/T/1k\n 42raf9RFiHYOm1NGXO4FRTCA//7MmRj17rFoU3SdOHSRw9cLrVYg3USjIPocRj8un2AQUIxNBSj\n SBTue2fa99QuKB9dPyWxDPSTGRQRvH80V6LD+tW4At6gHXo2dMXllfG907+jfw7s8fb1r0a7q9E\n 25bc8Ixit9jOM6WjxI82ChD8nqkcPmnP+jUn61ZGYkoN/J4Q==", "X-Received": "by 2002:a05:6871:28a0:b0:417:5a8c:feba with SMTP id\n 586e51a60fabf-434f5866e4bmr6679257fac.12.1778192249256;\n Thu, 07 May 2026 15:17:29 -0700 (PDT)", "From": "Richard Henderson <richard.henderson@linaro.org>", "To": "qemu-devel@nongnu.org", "Subject": "[PATCH 07/18] fpu: Use get_floatx80_behaviour everywhere", "Date": "Thu, 7 May 2026 17:17:06 -0500", "Message-ID": "<20260507221717.486023-8-richard.henderson@linaro.org>", "X-Mailer": "git-send-email 2.43.0", "In-Reply-To": "<20260507221717.486023-1-richard.henderson@linaro.org>", "References": "<20260507221717.486023-1-richard.henderson@linaro.org>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Received-SPF": "pass client-ip=2001:4860:4864:20::30;\n envelope-from=richard.henderson@linaro.org; helo=mail-oa1-x30.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,\n DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,\n 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": "qemu development <qemu-devel.nongnu.org>", "List-Unsubscribe": "<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>", "List-Archive": "<https://lists.nongnu.org/archive/html/qemu-devel>", "List-Post": "<mailto:qemu-devel@nongnu.org>", "List-Help": "<mailto:qemu-devel-request@nongnu.org?subject=help>", "List-Subscribe": "<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>", "Errors-To": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org", "Sender": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org" }, "content": "Signed-off-by: Richard Henderson <richard.henderson@linaro.org>\n---\n include/fpu/softfloat.h | 10 ++++++----\n fpu/softfloat.c | 2 +-\n fpu/softfloat-parts.c.inc | 4 ++--\n fpu/softfloat-specialize.c.inc | 2 +-\n 4 files changed, 10 insertions(+), 8 deletions(-)", "diff": "diff --git a/include/fpu/softfloat.h b/include/fpu/softfloat.h\nindex 4ae4ddc799..e08d1c374d 100644\n--- a/include/fpu/softfloat.h\n+++ b/include/fpu/softfloat.h\n@@ -1018,7 +1018,7 @@ static inline bool floatx80_is_infinity(floatx80 a, float_status *status)\n bool intbit = a.low >> 63;\n \n if (!intbit &&\n- !(status->floatx80_behaviour & floatx80_pseudo_inf_valid)) {\n+ !(get_floatx80_behaviour(status) & floatx80_pseudo_inf_valid)) {\n return false;\n }\n return (a.high & 0x7fff) == 0x7fff && !(a.low << 1);\n@@ -1112,6 +1112,8 @@ static inline bool floatx80_unordered_quiet(floatx80 a, floatx80 b,\n *----------------------------------------------------------------------------*/\n static inline bool floatx80_invalid_encoding(floatx80 a, float_status *s)\n {\n+ FloatX80Behaviour rule = get_floatx80_behaviour(s);\n+\n if ((a.low >> 63) || (a.high & 0x7fff) == 0) {\n /* Anything with the Integer bit set or the exponent 0 is valid */\n return false;\n@@ -1119,12 +1121,12 @@ static inline bool floatx80_invalid_encoding(floatx80 a, float_status *s)\n \n if ((a.high & 0x7fff) == 0x7fff) {\n if (a.low) {\n- return !(s->floatx80_behaviour & floatx80_pseudo_nan_valid);\n+ return !(rule & floatx80_pseudo_nan_valid);\n } else {\n- return !(s->floatx80_behaviour & floatx80_pseudo_inf_valid);\n+ return !(rule & floatx80_pseudo_inf_valid);\n }\n } else {\n- return !(s->floatx80_behaviour & floatx80_unnormal_valid);\n+ return !(rule & floatx80_unnormal_valid);\n }\n }\n \ndiff --git a/fpu/softfloat.c b/fpu/softfloat.c\nindex 11ab26c7f6..1be90c9c7c 100644\n--- a/fpu/softfloat.c\n+++ b/fpu/softfloat.c\n@@ -1566,7 +1566,7 @@ floatx80 floatx80_round_pack_canonical(FloatParts128 *p, float_status *s)\n \n case float_class_inf:\n /* x86 and m68k differ in the setting of the integer bit. */\n- frac = s->floatx80_behaviour & floatx80_default_inf_int_bit_is_zero ?\n+ frac = get_floatx80_behaviour(s) & floatx80_default_inf_int_bit_is_zero ?\n 0 : (1ULL << 63);\n exp = fmt->exp_max;\n break;\ndiff --git a/fpu/softfloat-parts.c.inc b/fpu/softfloat-parts.c.inc\nindex ab9445ade8..0406a38206 100644\n--- a/fpu/softfloat-parts.c.inc\n+++ b/fpu/softfloat-parts.c.inc\n@@ -213,7 +213,7 @@ static void partsN(canonicalize)(FloatPartsN *p, float_status *status,\n * how we uncanonicalize results.\n */\n bool has_pseudo_denormals = fmt->has_explicit_bit &&\n- (status->floatx80_behaviour & floatx80_pseudo_denormal_valid);\n+ (get_floatx80_behaviour(status) & floatx80_pseudo_denormal_valid);\n \n if (unlikely(p->exp == 0)) {\n if (likely(fracN(eqz)(p))) {\n@@ -430,7 +430,7 @@ static void partsN(uncanon_normal)(FloatPartsN *p, float_status *s,\n } else {\n bool is_tiny = s->tininess_before_rounding || exp < 0;\n bool has_pseudo_denormals = fmt->has_explicit_bit &&\n- (s->floatx80_behaviour & floatx80_pseudo_denormal_valid);\n+ (get_floatx80_behaviour(s) & floatx80_pseudo_denormal_valid);\n \n if (!is_tiny) {\n FloatPartsN discard;\ndiff --git a/fpu/softfloat-specialize.c.inc b/fpu/softfloat-specialize.c.inc\nindex 29a2fdeb9b..91250bc5a1 100644\n--- a/fpu/softfloat-specialize.c.inc\n+++ b/fpu/softfloat-specialize.c.inc\n@@ -223,7 +223,7 @@ floatx80 floatx80_default_inf(bool zSign, float_status *status)\n * Whether the Integer bit is set in the default Infinity is\n * target dependent.\n */\n- bool z = status->floatx80_behaviour & floatx80_default_inf_int_bit_is_zero;\n+ bool z = get_floatx80_behaviour(status) & floatx80_default_inf_int_bit_is_zero;\n return packFloatx80(zSign, 0x7fff, z ? 0 : (1ULL << 63));\n }\n \n", "prefixes": [ "07/18" ] }