From: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 19 Aug 2021 16:09:14 +0000 (-0700) Subject: [release/6.0] Fix incorrect VN when folding GT_NEG(GT_MUL(A, C)) (#57686) X-Git-Tag: accepted/tizen/unified/20220110.054933~296 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5aeb4f3271fa2488903064b83efd174fc720648d;p=platform%2Fupstream%2Fdotnet%2Fruntime.git [release/6.0] Fix incorrect VN when folding GT_NEG(GT_MUL(A, C)) (#57686) * Fix incorrect VN when folding GT_NEG(GT_MUL(A, C)) Fixes #57640 * Fix test name Co-authored-by: Jakob Botsch Nielsen --- diff --git a/src/coreclr/jit/morph.cpp b/src/coreclr/jit/morph.cpp index 2ff2902..2b50b72 100644 --- a/src/coreclr/jit/morph.cpp +++ b/src/coreclr/jit/morph.cpp @@ -13177,6 +13177,7 @@ DONE_MORPHING_CHILDREN: GenTree* newOp2 = gtNewIconNode(-constVal, op1op2->TypeGet()); // -C mulOrDiv->gtOp1 = newOp1; mulOrDiv->gtOp2 = newOp2; + mulOrDiv->SetVNsFromNode(tree); DEBUG_DESTROY_NODE(tree); DEBUG_DESTROY_NODE(op1op2); diff --git a/src/tests/JIT/Regression/JitBlue/Runtime_57640/Runtime_57640.cs b/src/tests/JIT/Regression/JitBlue/Runtime_57640/Runtime_57640.cs new file mode 100644 index 0000000..9067804 --- /dev/null +++ b/src/tests/JIT/Regression/JitBlue/Runtime_57640/Runtime_57640.cs @@ -0,0 +1,25 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +// Generated by Fuzzlyn v1.2 on 2021-08-15 23:15:19 +// Run on .NET 6.0.0-dev on Arm Linux +// Seed: 18219619158927602726 +// Reduced from 82.6 KiB to 0.3 KiB in 00:02:54 +// Debug: Outputs 14270 +// Release: Outputs 4294953026 +public class Runtime_57640 +{ + static long[] s_28 = new long[]{1}; + public static int Main() + { + bool correct = true; + var vr10 = s_28[0]; + for (int vr13 = 0; vr13 < 2; vr13++) + { + uint vr12 = (uint)(0 - (-14270 * vr10)); + correct &= vr12 == 14270; + } + + return correct ? 100 : -1; + } +} diff --git a/src/tests/JIT/Regression/JitBlue/Runtime_57640/Runtime_57640.csproj b/src/tests/JIT/Regression/JitBlue/Runtime_57640/Runtime_57640.csproj new file mode 100644 index 0000000..f3e1cbd --- /dev/null +++ b/src/tests/JIT/Regression/JitBlue/Runtime_57640/Runtime_57640.csproj @@ -0,0 +1,12 @@ + + + Exe + + + None + True + + + + +