From patchwork Mon Feb 17 12:50:48 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 865925 Delivered-To: patch@linaro.org Received: by 2002:a5d:64e6:0:b0:38f:210b:807b with SMTP id g6csp1069074wri; Mon, 17 Feb 2025 04:52:51 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCXOZI2BWjclIZudVVOM6INJWzGEJDQ00GiUEFwxjetN5v/Y+cWCT7cupCNzluoQOvXpzqxLrQ==@linaro.org X-Google-Smtp-Source: AGHT+IE1CVswDtcYo7orjc2G86I9QQU8PXqb/M1pcmaat0+oJi92qSRZJNmNhrF3/PuM3ZWsGQ94 X-Received: by 2002:ac8:7f43:0:b0:471:cd55:d6d2 with SMTP id d75a77b69052e-471dbe7f35fmr128169541cf.40.1739796771256; Mon, 17 Feb 2025 04:52:51 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1739796771; cv=none; d=google.com; s=arc-20240605; b=c7NwmE1iWdTsthhyUPF8UIPWjfFbtmFeL9WHSq/agOX2ESDQbIeRiGBU/TVIDuF/U6 Upmn+Lp6JuB4Grak+D2RYbyCXLyISXEKu8jZFUhstsNL+ymWyzxv95qzlBRCWNJmFgTR q8QJ2mByM8PKDP+/sZZ90VXiPZDxrVX9xYU9k6hGqFOVQlau2ByoK+dDCmn00Qfhiass MfxC4Cd/r+au2H70oFv3TmZ+bvsLJXLdDeVYgjZxzPDntVwslPMaAyQsBrS6THJle40z fDjsGZ/gpMjASGnQfBHtcsvSW6DHTtpZY6aNC19xTEQ1uL4X13BViBXVR9z8ZjhGVTkd YXAQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=dgrJFLtgZpDkX4+1Ysq/dQP/f+mIraxTRZ9fUF0vhn4=; fh=sX8zUUORJuGQY9ekiqVytwsRQCpKiqNE9LyGNVxaIX0=; b=FNOHcKrl0j+gJV8/sIs76ExxsmzJJdMuoFgtq17gNu5PFoe8zbbRP/A1+yhkAvPdnn A03Ei32Y6aAR/fKqfI6wuM/UnAgjh9khsr306R6V2g9J/7PmZy3TirqR4NME3rqJdkUt JRtWs7cRm9c/DIm49C5cxj5jPDIdxRS1oJEPgsWn1SiCGbkS9GA5zVPvljnQHEfYZl3h NnPPIUsGbZt2CunKg23UZv9gC3x67dDxU4/sgCTPZmuk640hh88sNx3tvT0jhsOT3cU3 DQtwX2M2Jffvcq/Emwl6gktB+uTpQr7A4H9fk4sf9d/zxWe+T8I8H9i24zY/5WCS4xRj /+GQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=mr54D4Cg; 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; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id d75a77b69052e-471eed5a493si23309371cf.294.2025.02.17.04.52.51 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Mon, 17 Feb 2025 04:52:51 -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=pass header.i=@linaro.org header.s=google header.b=mr54D4Cg; 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; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tk0b3-0001gF-3I; Mon, 17 Feb 2025 07:51:37 -0500 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 1tk0aa-0001bl-Tt for qemu-devel@nongnu.org; Mon, 17 Feb 2025 07:51:09 -0500 Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tk0aV-0002FN-3g for qemu-devel@nongnu.org; Mon, 17 Feb 2025 07:51:07 -0500 Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-4395dddb07dso45059305e9.2 for ; Mon, 17 Feb 2025 04:51:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1739796661; x=1740401461; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=dgrJFLtgZpDkX4+1Ysq/dQP/f+mIraxTRZ9fUF0vhn4=; b=mr54D4Cg8d+USxb1vnFhSIgDkeGb431IMxiR8BL2M0JJ9/UXx3AWwUlOdDCSctgaIz 44bpIiJ62wcxiYXQ8tdZJvIq0KXbRf3j8C/RshTESpfjIhSjcCGMXQpcfddc08VpECkr wcghPXNIP4zIBWRdmEm3W2He3tcCS36yxsijy5z2B9wsEcNYyM7f9083t2qjHdnGiLS/ P0q0epOtWMhwVBH6DZTADVcrGF012ofRKsZlp0sD8wJwiRZCFFxG/zBFvXGsBexmhytS tx/nvDhaDSwj4nZkFN0UOcxm1Ej5eNBjDiZ2+ROhZ8d8Or2dbI6ZSyLySzEIOJsn25QC AP4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739796661; x=1740401461; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=dgrJFLtgZpDkX4+1Ysq/dQP/f+mIraxTRZ9fUF0vhn4=; b=IRqblejlsceRHgipWuLn59QT+wqrUwqDnLJTltoH9/kSGLhsr6hZ26p4jbjLorWio0 BTPBH5Ajdso5el/MZfZ+o/WqBoqDZiBm0FQarx7xuNpLgRtq4shUSv3iZ9ymqmS8Luf8 Qze5SW7y8bny9fHuN1T9xVQ4uPMtKsCeVVjm4dbZXBgLtiwTAy9AIw6GkIyUSkJAuqxO eB3unobZc4GLglnTG84U00TkxC3t+2ZWt71B1mbfSZOg7mFh1xHaBOj0Uc8z3fuEblIn 9mb8q63qwnl76ng6wz56f0nSKzeY6JI9Yn0R5eu24Mf3te2VQA/NE+SLnTbRZsVbzaRc eGhA== X-Gm-Message-State: AOJu0YxpD4KZYvryqZgc0k8ZnSUx4qrfxos/PEj2P78wB62A4698Y19H I0U/66YKOkEL3yo/zaGCx4mfYzcjkakvwGSPwVoMG7jrvyR5jKygZifTwUjjkwzh8oTyNE2Y5bF N X-Gm-Gg: ASbGncvEJRy5N8hbjsBThY1Q/hPLhaH/mHwnkJL9KVgifuyFiOcUZ8ft9fRVqUG1QDY 4zT4Bnm/mxmHAy7YWl3jo1t3WcHGzMa1RiJcZfDPU66zrUx2WRKRIWI5Glqh/G3EvTQ9NYgZVKy hExVAiaxkhYmG+sCVvqn666l6QZDFBH37BVpSMtucgHaOiDEfL/FcSFYjYLS+Xfcw5Taj1YIvJ1 u/Q8VpThPMR4+O7T/ntW4ihJtqnAH6R6kWt3WtCSSBT3/Uzwn15F4kMFhgTwIZYb2TVDRGL72d6 Gy81Y65srS8SNktj6IDyKw== X-Received: by 2002:a05:600c:358f:b0:439:62eb:3cc5 with SMTP id 5b1f17b1804b1-4396e744cf9mr89088255e9.23.1739796660942; Mon, 17 Feb 2025 04:51:00 -0800 (PST) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4398e84efb9sm3562455e9.10.2025.02.17.04.51.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Feb 2025 04:51:00 -0800 (PST) From: Peter Maydell To: qemu-devel@nongnu.org Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , Richard Henderson , Paolo Bonzini , Eduardo Habkost , Laurent Vivier Subject: [PATCH 03/10] target/i386: Avoid using floatx80_infinity global const Date: Mon, 17 Feb 2025 12:50:48 +0000 Message-ID: <20250217125055.160887-4-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250217125055.160887-1-peter.maydell@linaro.org> References: <20250217125055.160887-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::336; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x336.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 The global const floatx80_infinity is (unlike all the other float*_infinity values) target-specific, because whether the explicit Integer bit is set or not varies between m68k and i386. We want to be able to compile softfloat once for multiple targets, so we can't continue to use a single global whose value needs to be different between targets. Replace the direct uses of floatx80_infinity in target/i386 with calls to the new floatx80_default_inf() function. Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daudé --- target/i386/tcg/fpu_helper.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/target/i386/tcg/fpu_helper.c b/target/i386/tcg/fpu_helper.c index f112c6c6737..741af09f908 100644 --- a/target/i386/tcg/fpu_helper.c +++ b/target/i386/tcg/fpu_helper.c @@ -1832,7 +1832,7 @@ void helper_fxtract(CPUX86State *env) } else if (floatx80_is_infinity(ST0)) { fpush(env); ST0 = ST1; - ST1 = floatx80_infinity; + ST1 = floatx80_default_inf(0, &env->fp_status); } else { int expdif; @@ -2358,9 +2358,8 @@ void helper_fscale(CPUX86State *env) float_raise(float_flag_invalid, &env->fp_status); ST0 = floatx80_default_nan(&env->fp_status); } else { - ST0 = (floatx80_is_neg(ST0) ? - floatx80_chs(floatx80_infinity) : - floatx80_infinity); + ST0 = floatx80_default_inf(floatx80_is_neg(ST0), + &env->fp_status); } } } else {