From 8f452e92211f73ddf5385a403e270c2da2d57d65 Mon Sep 17 00:00:00 2001 From: Will Smith Date: Thu, 20 Jan 2022 19:14:56 -0800 Subject: [PATCH 1/2] Fixed IsFloatPositiveZero from returning 'true' on non-constant double operands --- src/coreclr/jit/gentree.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/coreclr/jit/gentree.h b/src/coreclr/jit/gentree.h index 7eeb3b0f57bd2a..0f2ce9dbc48237 100644 --- a/src/coreclr/jit/gentree.h +++ b/src/coreclr/jit/gentree.h @@ -7661,7 +7661,12 @@ inline bool GenTree::IsSIMDZero() const // inline bool GenTree::IsFloatPositiveZero() const { - return !(IsCnsNonZeroFltOrDbl()); + if (OperGet() == GT_CNS_DBL) + { + return !(IsCnsNonZeroFltOrDbl()); + } + + return false; } //------------------------------------------------------------------- From f7d578867b31771637bdf6147251d6d8ba4b016d Mon Sep 17 00:00:00 2001 From: Will Smith Date: Fri, 21 Jan 2022 07:32:21 -0800 Subject: [PATCH 2/2] Update src/coreclr/jit/gentree.h Co-authored-by: Egor Bogatov --- src/coreclr/jit/gentree.h | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/coreclr/jit/gentree.h b/src/coreclr/jit/gentree.h index 0f2ce9dbc48237..992a2cb1c0f38a 100644 --- a/src/coreclr/jit/gentree.h +++ b/src/coreclr/jit/gentree.h @@ -7661,12 +7661,7 @@ inline bool GenTree::IsSIMDZero() const // inline bool GenTree::IsFloatPositiveZero() const { - if (OperGet() == GT_CNS_DBL) - { - return !(IsCnsNonZeroFltOrDbl()); - } - - return false; + return IsCnsFltOrDbl() && !IsCnsNonZeroFltOrDbl(); } //-------------------------------------------------------------------