From cfe1da4a384a9f65c0a8c30d7cf43f9912385fc7 Mon Sep 17 00:00:00 2001 From: Stephanos Ioannidis Date: Sun, 24 Nov 2024 14:00:37 +0900 Subject: [PATCH] scripts: llvm: Disable Picolibc FP exception and rounding tests LLVM compiler-rt does not currently support exceptions and rounding modes for computations on the types that are emulated in software. For more details, refer to the GitHub issue #838. Revert this commit when this issue is fixed in the compiler-rt. Signed-off-by: Stephanos Ioannidis --- .../test-support/picolibc-test-wrapper.py | 47 ++++++++++++++++++- 1 file changed, 45 insertions(+), 2 deletions(-) diff --git a/scripts/llvm/test-support/picolibc-test-wrapper.py b/scripts/llvm/test-support/picolibc-test-wrapper.py index 5811b31d..046b7c42 100755 --- a/scripts/llvm/test-support/picolibc-test-wrapper.py +++ b/scripts/llvm/test-support/picolibc-test-wrapper.py @@ -13,9 +13,10 @@ EXIT_CODE_SKIP = 77 disabled_tests = [ - # compiler-rt does not properly set floating point exceptions for - # computations on types implemented in software + # compiler-rt does not properly support floating point exceptions and + # rounding modes for computations on types implemented in software # https://github.com/picolibc/picolibc/pull/500 + # https://github.com/zephyrproject-rtos/sdk-ng/issues/838 "picolibc_armv7m_soft_fpv4_sp_d16-build/test/math_errhandling", "picolibc_armv7m_hard_fpv4_sp_d16-build/test/math_errhandling", "picolibc_armv7r_hard_vfpv3xd-build/test/math_errhandling", @@ -30,6 +31,48 @@ "picolibc_armv8.1m.main_hard_nofp_mve_exn_rtti-build/test/fenv", "picolibc_armv8.1m.main_hard_nofp_mve_exn_rtti-build/test/math_errhandling", "picolibc_armv8m.main_hard_fp_exn_rtti-build/test/math_errhandling", + "picolibc_rv32imafc_zicsr_zifencei_ilp32f-build/test/rounding-mode", + "picolibc_rv32imafc_zicsr_zifencei_ilp32f-build/test/math_errhandling", + "picolibc_rv32imafc_zicsr_zifencei_ilp32f-build/test/test-fma", + "picolibc_rv32imafc_zicsr_zifencei_ilp32f_exn_rtti-build/test/rounding-mode", + "picolibc_rv32imafc_zicsr_zifencei_ilp32f_exn_rtti-build/test/math_errhandling", + "picolibc_rv32imafc_zicsr_zifencei_ilp32f_exn_rtti-build/test/test-fma", + "picolibc_rv32imfc_zicsr_zifencei_ilp32f-build/test/rounding-mode", + "picolibc_rv32imfc_zicsr_zifencei_ilp32f-build/test/math_errhandling", + "picolibc_rv32imfc_zicsr_zifencei_ilp32f-build/test/test-fma", + "picolibc_rv32imfc_zicsr_zifencei_ilp32f_exn_rtti-build/test/rounding-mode", + "picolibc_rv32imfc_zicsr_zifencei_ilp32f_exn_rtti-build/test/math_errhandling", + "picolibc_rv32imfc_zicsr_zifencei_ilp32f_exn_rtti-build/test/test-fma", + "picolibc_rv32imafd_zicsr_zifencei_ilp32d-build/test/math_errhandling", + "picolibc_rv32imafd_zicsr_zifencei_ilp32d-build/test/test-fma", + "picolibc_rv32imafd_zicsr_zifencei_ilp32d_exn_rtti-build/test/math_errhandling", + "picolibc_rv32imafd_zicsr_zifencei_ilp32d_exn_rtti-build/test/test-fma", + "picolibc_rv32if_zicsr_zifencei_ilp32f-build/test/rounding-mode", + "picolibc_rv32if_zicsr_zifencei_ilp32f-build/test/math_errhandling", + "picolibc_rv32if_zicsr_zifencei_ilp32f-build/test/test-fma", + "picolibc_rv32if_zicsr_zifencei_ilp32f_exn_rtti-build/test/rounding-mode", + "picolibc_rv32if_zicsr_zifencei_ilp32f_exn_rtti-build/test/math_errhandling", + "picolibc_rv32if_zicsr_zifencei_ilp32f_exn_rtti-build/test/test-fma", + "picolibc_rv64imafdc_zicsr_zifencei_lp64d-build/test/math_errhandling", + "picolibc_rv64imafdc_zicsr_zifencei_lp64d-build/test/test-fma", + "picolibc_rv64imafdc_zicsr_zifencei_lp64d_exn_rtti-build/test/math_errhandling", + "picolibc_rv64imafdc_zicsr_zifencei_lp64d_exn_rtti-build/test/test-fma", + "picolibc_rv64imafd_zicsr_zifencei_lp64d-build/test/math_errhandling", + "picolibc_rv64imafd_zicsr_zifencei_lp64d-build/test/test-fma", + "picolibc_rv64imafd_zicsr_zifencei_lp64d_exn_rtti-build/test/math_errhandling", + "picolibc_rv64imafd_zicsr_zifencei_lp64d_exn_rtti-build/test/test-fma", + "picolibc_rv64imfc_zicsr_zifencei_lp64f-build/test/rounding-mode", + "picolibc_rv64imfc_zicsr_zifencei_lp64f-build/test/math_errhandling", + "picolibc_rv64imfc_zicsr_zifencei_lp64f-build/test/test-fma", + "picolibc_rv64imfc_zicsr_zifencei_lp64f_exn_rtti-build/test/rounding-mode", + "picolibc_rv64imfc_zicsr_zifencei_lp64f_exn_rtti-build/test/math_errhandling", + "picolibc_rv64imfc_zicsr_zifencei_lp64f_exn_rtti-build/test/test-fma", + "picolibc_rv64imfc_zicsr_zifencei_zba_zbb_zbc_zbs_lp64f-build/test/rounding-mode", + "picolibc_rv64imfc_zicsr_zifencei_zba_zbb_zbc_zbs_lp64f-build/test/math_errhandling", + "picolibc_rv64imfc_zicsr_zifencei_zba_zbb_zbc_zbs_lp64f-build/test/test-fma", + "picolibc_rv64imfc_zicsr_zifencei_zba_zbb_zbc_zbs_lp64f_exn_rtti-build/test/rounding-mode", + "picolibc_rv64imfc_zicsr_zifencei_zba_zbb_zbc_zbs_lp64f_exn_rtti-build/test/math_errhandling", + "picolibc_rv64imfc_zicsr_zifencei_zba_zbb_zbc_zbs_lp64f_exn_rtti-build/test/test-fma", ]