* Enable hard-float ABI support for pico_float and pico_double on m33
Resolves#2783
Signed-off-by: Andy Lin <andylinpersonal@gmail.com>
* Add (non google) LLVM support, and replace calling convention check with #if defined(__ARM_PCS_VFP)
* switch float.h to use static inline method for int2float() etc in VFP mode rather than #define
* float/double test cleanup - particularly:
- splitting out executable for each test type for pico_float/double_test
- removing undefined behavior from custom_float_funcs_test.c, to de-confuse clang
- add test of denormal->int
Note some tests still fail on llvm libc (at least version 19)
* fix some issues with newer llvm_libc/compiler as used by bazel build
* keep check_configs happy
* another bazel issue
* introduce pico_double_pico_dcp for consistency
* fixup debug output based on previous commit
* remove unnecessary build guard from double_conv_m33.S
* allow -1 for neg_denormal->int rounding towards minus infinity
* Update test/pico_float_test/CMakeLists.txt
Co-authored-by: Andrew Scheller <andrew.scheller@raspberrypi.com>
* Update test/pico_float_test/CMakeLists.txt
Co-authored-by: Andrew Scheller <andrew.scheller@raspberrypi.com>
* - add fma/_fast functions to pico_float_test/pico_double_test
- fix guard for TEST_SATURATION in pico_double_test - GCC doesn't clamp either
* - double functions were only wrapped in pico_double_pico not pico_double_pico_dcp explicitly (i.e. explicitly setting double impl to pico_dcp was not selecting our versions)
* avoid extra stack alignment push (per review comment)
* fix fma return code in VFP mode (register transfer was the wrong way around)
* separate PCS=VFP and non-PCS-VFP versions of fma_fast
* remove saving_func_return (which is just bx lr) and fold the separate pop of lr, into a pop of pc
* better fix for wrapping right libraries
* rename some labels from _entry (which is an internal entry point) to _softfp to be clear that these are the function entry points which work with softfp calling conventions
* Make bazel pico_float build not wrap SCI functions on RISC-V to match CMake build
* Split out FMAF as a selectable wrapped item since we don't want to wrap it for VFP
* fix typos
* fix test
---------
Signed-off-by: Andy Lin <andylinpersonal@gmail.com>
Co-authored-by: Andy Lin <andylinpersonal@gmail.com>
Co-authored-by: Andrew Scheller <andrew.scheller@raspberrypi.com>
* Update config-extraction scripts to work with multiple chips
* Standardise wording between common options
* Various config-related fixes
* Update pico_rand to use correct busctrl_hw struct-name
* Don't start config descriptions with "The ..."