Open jkotas opened 1 day ago
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch See info in area-owners.md if you want to be subscribed.
Regression introduced by #106594 . cc @tannergooding
At first glance it looks like a path getting NAOT is opting to emit Add(Mul(a, b), c)
which should also be reproing in the ISA stress jobs for V128/V256, but it looks like it isn't because those the relevant tests live in the libraries side and not the JIT tests side.
We used to exit early for SIMD GT_MUL
involving long
/ulong
on older hardware, but SSE4.1 fallback acceleration support was added back around July, and it looks like updating the Multiply
was updated but not MultiplyAddEstimate
Fix should just be mirroring the GT_MUL
guard in MultiplyAddEstimate
, so I'll get that up early tomorrow.
/azp run runtime-nativeaot-outerloop
fails during compilation of System.Numerics.Vectors.Tests with:ILC: Assertion failed '((simdSize == 16) && compOpportunisticallyDependsOn(InstructionSet_SSE41)) || ((simdSize == 32) && compOpportunisticallyDependsOn(InstructionSet_AVX2))' in 'System.Numerics.Vector`1[long]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.MultiplyAddEstimate(System.Numerics.Vector`1[long],System.Numerics.Vector`1[long],System.Numerics.Vector`1[long]):System.Numerics.Vector`1[long]' during 'Importation' (IL size 9; hash 0x709b06b8; FullOpts)
Fails on Windows and Linux x64. Example of a log: https://dev.azure.com/dnceng-public/public/_build/results?buildId=867214&view=logs&jobId=7e7cde7f-4669-5f41-976b-370a74291e60&j=7e7cde7f-4669-5f41-976b-370a74291e60&t=9ee39664-b162-579c-6968-bf80271a4c1d