| Issue |
64667
|
| Summary |
AARCH64 big endian accuracy problem of float complex division
|
| Labels |
new issue
|
| Assignees |
|
| Reporter |
Neilzhangtianhao
|
Hello, I’m tring to use llvm AARCH64 big endian target toolchain to compile float complex division demo, I find a problem that AARCH64 big endian target is error, AARCH64 little endian target is ok. I wrote like this:
LLVM VERSION: 15.0.1
Demo:
```
#include <complex>
#include <cmath>
#include <cstdlib>
#include <iostream>
typedef float A;
int main(){
std::complex<A> x (30.0, 40.0);
std::complex<A> y (40.0, 40.0);
std::complex<A> res = x / y;
std::cout << res << std::endl;
}
```
compilation command:
**AARCH64 big endian target:**
clang++ **-O1** demo.c
result: (0.0273438,0.00390625)
clang++ **-O0** demo.c
result: (0.875,0.125)
clang++ **-O1 -fno-inline** demo.c
result: (0.875,0.125)
**AARCH64 little endian target:**
clang++ -O1 demo.c
result: (0.875,0.125)
double complex division is ok in AARCH64 big endian target toolchain
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs