Use movsdsse2 for HW intrinsic SSE2_ConvertToDouble#17110
Conversation
Instead of movsd, which is for GPRs. Fixes one of the stress failures seen in #17027.
|
@4creators @fiigii @tannergooding PTAL Feel free to add whatever other legs are appropriate, I'm not familiar with most of them. @dotnet-bot test Windows_NT x64 Checked jitstressregs4 |
|
test Windows_NT x64 Checked gcstress0x3 test Windows_NT x86 Checked gcstress0x3 test Ubuntu x64 Checked gcstress0x3 |
|
test Windows_NT x64 Checked jitincompletehwintrinsic test Windows_NT x86 Checked jitincompletehwintrinsic test Ubuntu x64 Checked jitincompletehwintrinsic |
|
Wow, that is a lot of testing. Not sure we really needed all those GC stress legs, as this was an encoding assert that reproed deterministically, but I suppose it's harmless to run them again. |
|
@AndyAyersMS Thanks for the work! @4creators we do not need to run the hwintrinsic tests, SSE2 is already fully implemented. |
These are stress jobs with different configurations as default one which runs with AVX/AVX2 encoding. |
|
Two AVX/AVX2 tests failed with "GCStress=0xC + JitStress=1/2". I will look into them tomorrow. |
|
It occurs to me that we have no really effective way with dealing with this volume of tests when the baseline quality (especially for stress) is unclear and failures are either nondeterministic or known in baselines. So I'm tempted to just ignore all the GC stress tests here as there is little reason to believe this change will impact them one way or another. So far there are 3 non-GC stress failures
@dotnet-bot retest test Windows_NT x86 Checked jitincompletehwintrinsic |
|
I can't repro the two x64 failures, and I don't see any diffs in the disassembly for |
|
AFAIR there are some SIMD tests which tend to fail sporadically but I have not seen |
|
Continuing to categorize non-stress failures:
I sampled some of the failing GC stress legs and there weren't any new failures, just things that had also failed in a prior run. Since the CI system tracks failures on an order-run basis that's not definitive but it suggests (as we would suspect) that this change hasn't impacted GC stress itself one way or another. So I will keep looking at the x64 cases locally and am going to give in and retry too. @dotnet-bot retest test Windows_NT x64 Checked jitincompletehwintrinsic |
|
The failures of AVX/AVX2 @tannergooding could you help? |
|
x64 passed on rerun. I think despite the large number of GC stress failures this is ready to merge. Those will have to be sorted separately. |
|
Can we merge this PR? |
|
I think so, yeah. It fixes a deterministic assert and doesn't seem to have caused any regressions (to the best of my ability to tell, given the messy state of gc stress runs). @dotnet/jit-contrib anyone disagree about merging this? If I don't hear anything relatively soon, I'll go ahead and merge this. |
Instead of movsd, which is for GPRs. Fixes one of the stress failures
seen in #17027.