PROJECT(pico_float_test) # todo revist this test for if (NOT PICO_RISCV) add_executable(pico_float_test pico_float_test.c llvm/call_apsr.S ) add_executable(pico_double_test pico_double_test.c llvm/call_apsr.S ) #todo split out variants with different flags target_compile_definitions(pico_float_test PRIVATE # PICO_FLOAT_PROPAGATE_NANS=1 # PICO_DIVIDER_DISABLE_INTERRUPTS=1 ) #todo split out variants with different flags target_compile_definitions(pico_double_test PRIVATE PICO_USE_CRT_PRINTF=1 # want full precision output PICO_FLOAT_PROPAGATE_NANS=1 PICO_DOUBLE_PROPAGATE_NANS=1 #PICO_DIVIDER_DISABLE_INTERRUPTS=1 ) if (NOT PICO_CLIB STREQUAL "llvm_libc") # raw compiler printf on llvm_libc doesn't currently have floating point pico_set_printf_implementation(pico_double_test compiler) # want full precision output endif() # handy for testing we aren't pulling in extra stuff #target_link_options(pico_float_test PRIVATE -nodefaultlibs) target_include_directories(pico_float_test PRIVATE ${CMAKE_CURRENT_LIST_DIR}/llvm) target_link_libraries(pico_float_test pico_float pico_stdlib) pico_add_extra_outputs(pico_float_test) #pico_set_float_implementation(pico_float_test compiler) #pico_set_float_implementation(pico_float_test pico_vfp) #pico_set_double_implementation(pico_float_test compiler) target_include_directories(pico_double_test PRIVATE ${CMAKE_CURRENT_LIST_DIR}/llvm) target_link_libraries(pico_double_test pico_double pico_stdlib) pico_add_extra_outputs(pico_double_test) #pico_set_float_implementation(pico_double_test compiler) #pico_set_double_implementation(pico_double_test compiler) if (PICO_RP2350 AND NOT PICO_RISCV) add_executable(m33 m33.c ) target_compile_definitions(m33 PRIVATE PICO_USE_CRT_PRINTF=1 # want full precision output PICO_FLOAT_PROPAGATE_NANS=1 PICO_DOUBLE_PROPAGATE_NANS=1 #PICO_DIVIDER_DISABLE_INTERRUPTS=1 ) pico_set_printf_implementation(m33 compiler) # want full precision output pico_set_float_implementation(m33 pico) pico_set_double_implementation(m33 pico) target_link_libraries(m33 pico_double pico_stdlib) pico_add_extra_outputs(m33) endif() endif()