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

Optimized implementations for supported architectures #221

Open
DemiMarie opened this issue Dec 27, 2017 · 5 comments
Open

Optimized implementations for supported architectures #221

DemiMarie opened this issue Dec 27, 2017 · 5 comments

Comments

@DemiMarie
Copy link

This is a feature request for optimized implementations for common architectures (x64, ARM32/64). My understanding is that most of the <string.h> functions are usually implemented in assembler in libc.

@Amanieu
Copy link
Member

Amanieu commented Dec 27, 2017

See https://git.linaro.org/toolchain/cortex-strings.git/tree for implementations for ARM32/64.

@DemiMarie
Copy link
Author

@Amanieu Can some of these be included in this crate, or does licensing not allow this?

@Amanieu
Copy link
Member

Amanieu commented Dec 27, 2017

The code seems to be under a BSD license, so it should be fine to include it.

Since they use a lot of preprocessor macros, I think the best way would be to just include the asm files are they are and compile them with the cc crate in build.rs.

@Ravenslofty
Copy link

I don't think this even requires target-specific changes, just not doing things like writing a byte at a time in memset would already help targets which have no specific LLVM optimisations.

@skade
Copy link

skade commented Oct 29, 2019

Note, this has since moved to https://github.com/ARM-software/optimized-routines, and the license marks it as MIT.

Given that the licensing here is currently in a sorry state, this must be clearly marked of we want to include this.

tgross35 pushed a commit to tgross35/compiler-builtins that referenced this issue Feb 23, 2025
slightly improve spec and sanity check coverage
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants