files: 0.929 arm: 0.924 debug: 0.892 performance: 0.891 device: 0.884 graphic: 0.868 semantic: 0.861 risc-v: 0.817 TCG: 0.810 ppc: 0.806 network: 0.795 vnc: 0.790 VMM: 0.788 permissions: 0.783 register: 0.781 user-level: 0.775 hypervisor: 0.758 assembly: 0.750 PID: 0.745 i386: 0.729 boot: 0.728 kernel: 0.727 socket: 0.726 KVM: 0.711 x86: 0.711 architecture: 0.691 peripherals: 0.658 virtual: 0.653 mistranslation: 0.593 Floating point rounding fails on mps3-an547 amd cortex-m55 while using LLVM-embedded-toolchain-for-Arm and Picolibic. Description of problem: Rounding of long double gives unexpected result. Simple code as example: ``` #include int main(void) { long double value = -8.5L; long rounded_value = lrintl(value); if( -8 == rounded_value ) { return 0; } return 1; } ``` Steps to reproduce: 1. Checkout project: [LLVM-embedded-toolchain-for-ARM](https://github.com/ARM-software/LLVM-embedded-toolchain-for-Arm) 2. Configure it with option -DLLVM_TOOLCHAIN_LIBRARY_VARIANTS=armv8.1m.main_hard_nofp_mve 3. Build project 4. Run Picolbic tests with ninja picolibc_armv8.1m.main_hard_nofp_mve-test As a result long_double test fails with incorrect rounding. Last qemu version which successfully execute mentioned test is: qemu 7.0.0 downloaded via [qemu-7.0.0](https://download.qemu.org/qemu-7.0.0.tar.bz2). Issue is present since qemu version 7.1. Additional information: As a result long_double test fails with incorrect rounding. Last qemu version which successfully execute mentioned test is: qemu 7.0.0 downloaded via [qemu-7.0.0](https://download.qemu.org/qemu-7.0.0.tar.bz2). Issue is present since qemu version 7.1.