summary refs log tree commit diff stats
path: root/gitlab/issues_text/target_missing/host_missing/accel_missing/1788
blob: c04f1f04d03e5b500d42690d050452e4df078e50 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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 <math.h>
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.