-
Notifications
You must be signed in to change notification settings - Fork 3k
ARMC6: Use float-abi=hard #9154
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
Conversation
For binary compatibility with ARMC5, use the hard ABI variant whenever we have FP hardware - this is ARMC5's default behaviour, which we do not override. Cortex-M4F was already using hard; this brings M7F and M33F into line.
See issue #9153 for more discussion. I believe this is a minimal change bringing ARMC6 into line with ARMC5 - but it would be good if someone can cross-check that I've understood what ARMC5 is doing correctly. As to what the general direction should be, that's maybe a separate issue. We currently have 2 toolchains using hardfp, 1 using softfp... |
Had similar discussion while setting FPU for Cortex-M33, and as per @theotherjimmy we use |
Yeah, I saw that discussion, but not any reasoning. I can also imagine either changing M4F to softfp, or changing just M7F to hardfp, depending on what the plan is. It'll have to wait. |
I think this is a good change, because it optimizes the function call overhead when we pass many floating point args. |
@cmonr - Although I approved please wait for @theotherjimmy also to confirm. |
Actually, I believe this avoids binary compatibility problems - this makes the float ABI the same as we're using with ARMC5 (it defaults to hard if FP is present, and we don't select anything manually, afaict). So only an issue if you've got precompiled ARMC6 binaries somewhere that you're only using with ARMC6. |
@kjbracey-arm @deepikabhavnani That was mostly GCC I was talking about for |
CI started |
Test run: FAILEDSummary: 1 of 11 test jobs failed Failed test jobs:
|
Test restarted |
Description
For binary compatibility with ARMC5, use the hardfp ABI variant whenever
we have FP hardware - this is ARMC5's default behaviour, which we do not
override.
Cortex-M4F was already using hard; this brings M7F and M33F into line.
Pull request type