Skip to content

Commit

Permalink
Remove redundant !fgIsCommaThrow(morphedTree) assert (dotnet#107624)
Browse files Browse the repository at this point in the history
  • Loading branch information
EgorBo authored and jtschuster committed Sep 17, 2024
1 parent bd6af7a commit caee60b
Show file tree
Hide file tree
Showing 3 changed files with 53 additions and 6 deletions.
7 changes: 1 addition & 6 deletions src/coreclr/jit/morph.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11575,12 +11575,7 @@ GenTree* Compiler::fgMorphHWIntrinsic(GenTreeHWIntrinsic* tree)
// Try to fold it, maybe we get lucky,
GenTree* morphedTree = gtFoldExpr(tree);

if (morphedTree != tree)
{
assert(!fgIsCommaThrow(morphedTree));
INDEBUG(morphedTree->gtDebugFlags |= GTF_DEBUG_NODE_MORPHED);
}
else if (!morphedTree->OperIsHWIntrinsic())
if ((morphedTree != tree) || !morphedTree->OperIsHWIntrinsic())
{
INDEBUG(morphedTree->gtDebugFlags |= GTF_DEBUG_NODE_MORPHED);
}
Expand Down
44 changes: 44 additions & 0 deletions src/tests/JIT/Regression/JitBlue/Runtime_107544/Runtime_107544.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
// 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 v2.4 on 2024-09-07 16:30:11
// Run on Arm64 MacOS
// Seed: 10786757047583438810-vectort,vector64,vector128,armadvsimd,armadvsimdarm64,armaes,armarmbase,armarmbasearm64,armcrc32,armcrc32arm64,armdp,armrdm,armrdmarm64,armsha1,armsha256
// Reduced from 183.1 KiB to 0.6 KiB in 00:00:45
// Hits JIT assert in Release:
// Assertion failed '!fgIsCommaThrow(morphedTree)' in 'Program:Main(Fuzzlyn.ExecutionServer.IRuntime)' during 'Morph - Global' (IL size 56; hash 0xade6b36b; FullOpts)
//
// File: /Users/runner/work/1/s/src/coreclr/jit/morph.cpp Line: 11580
//
using System;
using System.Numerics;
using System.Runtime.Intrinsics;
using System.Runtime.Intrinsics.Arm;
using Xunit;

public class Runtime_107173
{
[Fact]
public static void TestEntryPoint()
{
if (AdvSimd.IsSupported && Dp.IsSupported)
{
try
{
ushort vr7 = default(ushort);
var vr5 = (byte)vr7;
Vector128<uint> vr10 = Vector128.Create<uint>(0);
var vr11 = Vector128.Create<byte>(0);
var vr12 = Vector128.CreateScalar(vr5);
var vr13 = Dp.DotProductBySelectedQuadruplet(vr10, vr11, vr12, 13); // throws AE
vr10 = AdvSimd.Multiply(vr13, vr10);
Console.WriteLine(vr10);
}
catch (ArgumentException)
{
return;
}
throw new Exception("ArgumentException was not thrown");
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<Optimize>True</Optimize>
</PropertyGroup>
<ItemGroup>
<Compile Include="$(MSBuildProjectName).cs" />
</ItemGroup>
</Project>

0 comments on commit caee60b

Please sign in to comment.