Skip to content

Enable hard-float ABI support for pico_float and pico_double for m33#2785

Closed
andylinpersonal wants to merge 1 commit into
raspberrypi:developfrom
andylinpersonal:dev/pico-float-m33-fp-hard-abi
Closed

Enable hard-float ABI support for pico_float and pico_double for m33#2785
andylinpersonal wants to merge 1 commit into
raspberrypi:developfrom
andylinpersonal:dev/pico-float-m33-fp-hard-abi

Conversation

@andylinpersonal
Copy link
Copy Markdown

@andylinpersonal andylinpersonal commented Jan 5, 2026

Enable support for -mfloat-abi=hard in pico_float:vfp and pico_double:pico-dcp.
Exclude pico_float:dcp, since this variant is intended for non-FPU configurations.

Toolchain:

  • Tested with the official arm-gnu-toolchain-14.3.rel1

Implementation:

  • __aeabi_* runtime helper functions (__aeabi_x2y) have more direct path than custom functions (xtoy).
  • Complex math functions are called through wrapper.

Test:

  • __aeabi_* functions should be explicitly marked as __attribute__((pcs("aapcs"))) when the hard abi is enabled.

Resolves #2783, resolves #1993 (maybe duplicated)

BTW, it seems like src/rp2_common/pico_double/double_fma_dcp.S is not covered by any test case yet.

Resolves raspberrypi#2783

Signed-off-by: Andy Lin <andylinpersonal@gmail.com>
@kilograham
Copy link
Copy Markdown
Contributor

subsumed by #2822

@kilograham kilograham closed this Feb 8, 2026
@kilograham kilograham added this to the 2.2.1 milestone Apr 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants