From patchwork Sun May 16 12:33:58 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 439859 Delivered-To: patch@linaro.org Received: by 2002:a02:7a1b:0:0:0:0:0 with SMTP id a27csp261750jac; Sun, 16 May 2021 05:50:54 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy9jfz7O0McTxshWlAfk9IrvpbCLKqrlKFIup6XXbryF3wiswNG1nyxRLejweFm5JhI4uTe X-Received: by 2002:a05:6602:1815:: with SMTP id t21mr19419543ioh.193.1621169454574; Sun, 16 May 2021 05:50:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1621169454; cv=none; d=google.com; s=arc-20160816; b=U6L0umfTdo6KTH75KyjFWhwrOkQPRuvHbkQ5UewjdJnlQgDeY7hqT+lUbTTNxwiciI 7xUaRGIaMNTpzhEIJ/tpJLN4EqRycvWDRMw5HqT8pEJL+kL5ErSg+hYFGo/OvxLP8yrj mMXG2ieVdo2aLMS04qYzo33+jcjAaI1RIfBgBTfWxlI9Ap4e316MhyyHhq6XDMvLEyW/ EAYDu7vP0pwpGfijb5OtRNOckS3dVq2ccgGraAF5ZlZnr/R6PK+6x3ZvAjjm/fQMBqUL WpT+ht5tPmv35bJzvNI3Ta2LdOH8/MdmRnrw3KjAaPzW2RoWBU3YGPNpHKLU6vlduXvf pidw== 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:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=h+0x8Nk29/SnfgdnKuRZIh8yPkErRHPxcHfxg3QL/Gg=; b=KdhcVqj+Rr+rl+oc3/UDWQ3L7pChn4eTylV2lt1g1NxyZ/VjOqyYNe8MubSTuMEfHF WnmdS6/0Uako5RURX2pm+fDANwBHSYdTuAAnpx4PiwEulpGlslSdWfaoPMJVLxgtek3c Bq6gW38P7yBkrSH/R5SBkD9bVM+YzqpLCQrxpuNHutBBkJ6T0jiNEFrEaqXL59Gzk0WD mhtppw7Pk580KEtzoCqCCcc5OFnHwCAF3H6a+JRq9qQ5yQbSYqNNTOLlssaq0TRG9X/i DxgL6sNYFKoZcQXvS3BAaarZQp0n1bZ8KlyBfILrXjBXHNEqKexw/bn0aPHvVOTQ52yj 10aA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=LPA5YcKg; 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 o67si15414626jao.17.2021.05.16.05.50.54 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 16 May 2021 05:50:54 -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=LPA5YcKg; 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]:37978 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1liGEQ-0002JW-0n for patch@linaro.org; Sun, 16 May 2021 08:50:54 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43142) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1liFz2-0007Qf-K9 for qemu-devel@nongnu.org; Sun, 16 May 2021 08:35:03 -0400 Received: from mail-qk1-x731.google.com ([2607:f8b0:4864:20::731]:34439) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1liFym-0007lr-WB for qemu-devel@nongnu.org; Sun, 16 May 2021 08:34:59 -0400 Received: by mail-qk1-x731.google.com with SMTP id v8so3337092qkv.1 for ; Sun, 16 May 2021 05:34:44 -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:in-reply-to:references :mime-version:content-transfer-encoding; bh=h+0x8Nk29/SnfgdnKuRZIh8yPkErRHPxcHfxg3QL/Gg=; b=LPA5YcKgUCh9zKjzuuyyWY6g3BKz9NwEm4lR8lNfqCzbzkFzACdu9yN9Ckx3UhadrJ 2T8oRVbfqPwz8ytg1+Fvsq0WdTWJDb78gydq1S0bMT9CDDFIeksKZxF6s0dw/WtopgqX Oxsz+VDvzcW/VzT0LYPoTrLCwBEwPQXS1dwLnjLDGt2+cXsLMFQfXdwIYrrpnzrj0qDc CzhQbfXG2i8WMNjFyVAZ3wcKgHUCQKPZxrHi2u4SQ4BS0oB6oMGeKxNv3HkbmXGA60b6 xSujSmBiaBeJjURf+S0YsyvEi0vjC2vfAEh+IIuT/qpWA2IR/wAqX286CO9j9AqUth7L hJng== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=h+0x8Nk29/SnfgdnKuRZIh8yPkErRHPxcHfxg3QL/Gg=; b=obIvsJtF5xlIWiPkPZT2bZXqfCV6BypUX+8lTBSItN0YJizDpDYOXb1g1dSKEzC5QA WfJbJdfWqHvYrf879AzWBbJM+k1IiiehrfxN5zlVx4BYvGeABs3+vmtkowCxMKiv6BM5 OntLqBnHFKPer5YHX6HQsx9qgDBjFd68Xxr5QAfHAxdhUwfIi74vb7PIGGjwuNalT/C/ QgrYIgkOHpGA1X20xhCmJkImD7gwOQwdfDVYmzePchi8ROjGibJ9VU4pWWwLueXXuQrm djBmEpxe8Lca3NLzxqBQmgMCDUTVe0hDhpkOPZ4l+ZmfdLAzAlijnGaMP+LK9qK+kxBf 2JAw== X-Gm-Message-State: AOAM532nq+pFFsbJDGkuyK/hAdUxOZhk6vuWneVOY0H0R924A1BRq4fs bYNpIdcUeW0CDQg7LIJe2LFmw5jyBAnZXnK3t6I= X-Received: by 2002:a37:e10b:: with SMTP id c11mr51712383qkm.152.1621168483854; Sun, 16 May 2021 05:34:43 -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.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 16 May 2021 05:34:43 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PULL 13/46] target/mips: Set set_default_nan_mode with set_snan_bit_is_one Date: Sun, 16 May 2021 07:33:58 -0500 Message-Id: <20210516123431.718318-14-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210516123431.718318-1-richard.henderson@linaro.org> References: <20210516123431.718318-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::731; envelope-from=richard.henderson@linaro.org; helo=mail-qk1-x731.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, =?utf-8?q?Alex_Benn=C3=A9e?= , David Hildenbrand Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" This behavior is currently hard-coded in parts_silence_nan, but setting this bit properly will allow this to be cleaned up. Reviewed-by: Alex Bennée Reviewed-by: David Hildenbrand Signed-off-by: Richard Henderson --- target/mips/fpu_helper.h | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) -- 2.25.1 diff --git a/target/mips/fpu_helper.h b/target/mips/fpu_helper.h index 1c2d6d35a7..ad1116e8c1 100644 --- a/target/mips/fpu_helper.h +++ b/target/mips/fpu_helper.h @@ -27,8 +27,14 @@ static inline void restore_flush_mode(CPUMIPSState *env) static inline void restore_snan_bit_mode(CPUMIPSState *env) { - set_snan_bit_is_one((env->active_fpu.fcr31 & (1 << FCR31_NAN2008)) == 0, - &env->active_fpu.fp_status); + bool nan2008 = env->active_fpu.fcr31 & (1 << FCR31_NAN2008); + + /* + * With nan2008, SNaNs are silenced in the usual way. + * Before that, SNaNs are not silenced; default nans are produced. + */ + set_snan_bit_is_one(!nan2008, &env->active_fpu.fp_status); + set_default_nan_mode(!nan2008, &env->active_fpu.fp_status); } static inline void restore_fp_status(CPUMIPSState *env)