Vector algorithms: runtime coverage for ARM64EC non-vectorized fallbacks#6100
Vector algorithms: runtime coverage for ARM64EC non-vectorized fallbacks#6100AlexGuteniev wants to merge 1 commit intomicrosoft:mainfrom
Conversation
|
This is doing two very different things and I think they should be separated:
I am confused as to what this fallback coverage actually is (I am a little more familiar with ARM64EC these days but my understanding is still fragile). Can you explain in simpler terms what this is trying to do, and why we have to exercise modes that aren't usually enabled for users? I could potentially be open to adding an off-by-default mode that the tests could optionally activate (in addition to testing vanilla modes) but I want to understand why. |
Then it should go first. Exercising the fallback without extracting int64 complexity becomes way too complicated.
Here you are mentioning #5998 (comment):
I'm confident that if this explanation is correct, then used in it means called. Since there's a scenario where they area called exists, we need some coverage to avoid #5993 regression. Additionally, this will help catching complete omission of such callbacks in newly vectorized function without having to check exports.
I understand this disadvantage. But I think the need for coverage of these outweighs the disadvantage. |
|
Ok, let's do the int64 separation first, then we can think about exercising the ARM64EC scenario. |
|
Closing, will open the int64 PR instead |
Use them when
_ENABLE_STL_INTERNAL_CHECK. is defined.We have
!_USE_STD_VECTOR_ALGORITHMScoverage, so no much concerns about the missing non-vectoziaed coverage.Putting
_VECTORIZED_MINMAX_ELEMENT_64BIT_INTon display, as in-place expression for this quirk is getting complicated.