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

Fix intrinsic collisions due to NEON flag usage #223

Closed

Conversation

stellar-aria
Copy link
Contributor

See #220 for details.

Essentially there's function/macro definition collisions that occur due to already being defined in cmsis_gcc.h.

I'm not entirely sure if this is the right way to fix this issue, since there's a note about CMSIS/Core not being available on Cortex-A/R, ...except that it seems to be the only way to build right now on a baremetal/non-hosted system, since otherwise there's complaints about cmsis_compiler.h missing in the same file.

@christophe0606
Copy link
Contributor

The problem is that some old cores (and I think some Cortex-R) have Neon and DSP extensions but they are not supported by CMSIS-Core.

The original and this PR will both fail to work on some core.

So I think __GNUC_PYTHON__ should be used in the test (it is in fact a flag to check if CMSIS Core must be included or not).

When __GNUC_PYTHON__ is enabled I should never define ARM_MATH_DSP to ensure no intrinsics is used if the CMSIS Core is not available even if __ARM_FEATURE_DSP is defined.

@christophe0606 christophe0606 added the review Under review label Dec 13, 2024
@stellar-aria stellar-aria deleted the bug/intrinsic-collision branch December 19, 2024 16:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
review Under review
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants