Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

<xutility>: Consider enabling unsized memchr optimization after solving it for ARM64 #2866

Closed
AlexGuteniev opened this issue Jul 15, 2022 · 3 comments
Labels
fixed Something works now, yay! performance Must go faster

Comments

@AlexGuteniev
Copy link
Contributor

AlexGuteniev commented Jul 15, 2022

DevCom-1615707 is Fixed - Pending Release.
This means we can remove this workaround:

if constexpr (sizeof(_Iter_value_t<_It>) == 1 && _Is_sized /* TRANSITION, DevCom-1615707 */) {

This should allow optimizing unsized ranges search when vector algorithms are not enabled. This may be helpful for non-x86.

But the other ARM-specific bug should be taken care of - see https://github.com/microsoft/STL/pull/2434/files#r839094547

@AlexGuteniev AlexGuteniev changed the title <xutility>: Consider enabling unsized memchr optimization after solving it for on ARM64 <xutility>: Consider enabling unsized memchr optimization after solving it for ARM64 Jul 15, 2022
@CaseyCarter
Copy link
Contributor

Clarifying: "memchr inspects bytes after the match" will be fixed on x86/x64 in 17.4p2 when the redist is unlocked and we ship a new VCRuntime (VSO-1452447). It hasn't yet been fixed for ARM/ARM64/ARM64EC (VSO-1538014).

"memchr returns NULL when count == SIZE_MAX on arm64" (VSO-1488938) was closed as unreproducible on May 9. Can we still repro that bug?

@CaseyCarter
Copy link
Contributor

A fix for VSO-1538014 was just checked in. I think it will ship in v17.8p1, at which time this issue will become unblocked.

@StephanTLavavej StephanTLavavej added fixed Something works now, yay! and removed blocked Something is preventing work on this labels Feb 13, 2024
@StephanTLavavej
Copy link
Member

Workaround removed by #4083, thanks @AlexGuteniev for the programmer-archaeology.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
fixed Something works now, yay! performance Must go faster
Projects
None yet
Development

No branches or pull requests

3 participants