[release/8.0] JIT: ensure AVX512 ternary operands aren't used twice #91883
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Backport of #91851 to release/8.0
/cc @AndyAyersMS
Customer Impact
In some rare cases code that uses AVX-512 ternary intrinsics (eg
Avx512F.TernaryLogic
) may cause the jit to crash.Testing
Verified repro no longer triggers the assert about duplicate tree IDs.
Risk
Low. AVX-512 is a new feature in .NET 8, this code path is exclusive to AVX-512 ternary intrinsics.