diff --git a/src/coreclr/jit/lsraarm.cpp b/src/coreclr/jit/lsraarm.cpp index 47cdbaa753907..e360567871a7d 100644 --- a/src/coreclr/jit/lsraarm.cpp +++ b/src/coreclr/jit/lsraarm.cpp @@ -796,7 +796,7 @@ int LinearScan::BuildNode(GenTree* tree) // We need to be sure that we've set srcCount and dstCount appropriately assert((dstCount < 2) || tree->IsMultiRegNode()); assert(isLocalDefUse == (tree->IsValue() && tree->IsUnusedValue())); - assert(!tree->IsUnusedValue() || (dstCount != 0)); + assert(!tree->IsValue() || (dstCount != 0)); assert(dstCount == tree->GetRegisterDstCount(compiler)); return srcCount; } diff --git a/src/coreclr/jit/lsraarm64.cpp b/src/coreclr/jit/lsraarm64.cpp index f8e5e2fec3548..025d4f537b1bd 100644 --- a/src/coreclr/jit/lsraarm64.cpp +++ b/src/coreclr/jit/lsraarm64.cpp @@ -785,7 +785,7 @@ int LinearScan::BuildNode(GenTree* tree) // We need to be sure that we've set srcCount and dstCount appropriately assert((dstCount < 2) || tree->IsMultiRegNode()); assert(isLocalDefUse == (tree->IsValue() && tree->IsUnusedValue())); - assert(!tree->IsUnusedValue() || (dstCount != 0)); + assert(!tree->IsValue() || (dstCount != 0)); assert(dstCount == tree->GetRegisterDstCount(compiler)); return srcCount; } diff --git a/src/coreclr/jit/lsraxarch.cpp b/src/coreclr/jit/lsraxarch.cpp index c0fd6030c2880..524bbc8577e96 100644 --- a/src/coreclr/jit/lsraxarch.cpp +++ b/src/coreclr/jit/lsraxarch.cpp @@ -682,7 +682,7 @@ int LinearScan::BuildNode(GenTree* tree) // Not that for XARCH, the maximum number of registers defined is 2. assert((dstCount < 2) || ((dstCount == 2) && tree->IsMultiRegNode())); assert(isLocalDefUse == (tree->IsValue() && tree->IsUnusedValue())); - assert(!tree->IsUnusedValue() || (dstCount != 0)); + assert(!tree->IsValue() || (dstCount != 0)); assert(dstCount == tree->GetRegisterDstCount(compiler)); return srcCount; } diff --git a/src/tests/JIT/Regression/JitBlue/Runtime_81356/Runtime_81356.cs b/src/tests/JIT/Regression/JitBlue/Runtime_81356/Runtime_81356.cs new file mode 100644 index 0000000000000..9018ebb333d2d --- /dev/null +++ b/src/tests/JIT/Regression/JitBlue/Runtime_81356/Runtime_81356.cs @@ -0,0 +1,17 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +public class Runtime_81356 +{ + public static byte[] s_130; + public static int Main() + { + try + { + ulong vr5 = default(ulong); + byte vr4 = (byte)(((byte)vr5 & 0) * s_130[0]); + } + catch { } + return 100; + } +} diff --git a/src/tests/JIT/Regression/JitBlue/Runtime_81356/Runtime_81356.csproj b/src/tests/JIT/Regression/JitBlue/Runtime_81356/Runtime_81356.csproj new file mode 100644 index 0000000000000..57efc33a1f4c4 --- /dev/null +++ b/src/tests/JIT/Regression/JitBlue/Runtime_81356/Runtime_81356.csproj @@ -0,0 +1,9 @@ + + + Exe + False + + + + +