-
-
Notifications
You must be signed in to change notification settings - Fork 65
Opt memcpy memmove #682
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
base: master
Are you sure you want to change the base?
Opt memcpy memmove #682
Conversation
33338f5 to
358a663
Compare
358a663 to
030932f
Compare
|
Looks good, let's remove the |
| _memcpy: | ||
| ld iy, -1 | ||
| ; size > 0 : 25F + 15R + 1 + LDIR | ||
| ; size >= 65536 : 32F + 16R + 3 + LDIR |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This comment is no longer applicable, right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, I will fix that
|
If the two memmove implementations are now identical aside from a |
|
They differ slightly. The The LDIR path has an extra 3R and the LDDR path has an extra 3F, so I wasn't sure which would be better to allocate the 1F + 1 savings to |
makes
memcpy1F faster andmemmove2F faster in the common case.The timings can be adjusted slightly for
memmove(src != dstversion), depending on which is faster/better on average