Work around a compiler back-end assertion in vectorized minmax #4739
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.
After merging #4659, the MSVC-internal "selfbuild" CI (where the freshly built compiler is used to build itself again) failed. I've reported VSO-2093761 "amd64chk vect_opcode.cpp assertion
entryIsaRequirement <= isaRequirement
when compiling the STL's vectorized minmax".Thanks to @AlexGuteniev for suggesting
#pragma loop(no_vector)
as a workaround. (The problem involves the optimizer getting confused by manually vectorized code followed by auto-vectorized code.)