Issue |
137000
|
Summary |
[flang][LoongArch] Miscomparison error in spec2006 416.gamess with size=ref and optimization levels "-O2"/"-O3"/"-Ofast"
|
Labels |
flang
|
Assignees |
|
Reporter |
azuresky01
|
Tested OS: Debian sid/experimental loong64 installed with llvm 20.1.3
Optimization setting:
```
COPTIMIZE = -Ofast -march=la464 -flto=auto -fno-strict-aliasing
FOPTIMIZE = -Ofast -march=la464 -flto=auto
```
When I test spec2006 416.gamess with above optimization setting and ref size, I met the following error:
```
run_base_ref_llvm-64bit-test.0000 -c 1 -e compare.err -o compare.stdout -f compare.cmd
****************************************
Contents of triazolium.err
****************************************
Fortran STOP: IN ABRT
IEEE arithmetic exceptions signaled: INEXACT INVALID
****************************************
****************************************
Contents of h2ocu2+.gradient.err
****************************************
Fortran STOP
IEEE arithmetic exceptions signaled: INEXACT INVALID UNDERFLOW
****************************************
****************************************
Contents of cytosine.2.err
****************************************
Fortran STOP
IEEE arithmetic exceptions signaled: INEXACT INVALID
****************************************
*** Miscompare of triazolium.out
```
the content of triazolium.out.mis in this example:
```
0654: ----- FROZEN CORE ENERGY = -1092.06138801
----- FROZEN CORE ENERGY = -1089.34489867
^
0679: STATE 1 ENERGY= -585.3957141489 S= 0.00 SZ= 0.00 SPACE SYM=A'
STATE 1 ENERGY= -582.6821224495 S= 0.00 SZ= 0.00 SPACE SYM=A'
^
0685: 0.9779593
0.9781004
^
0686: -0.0838917
-0.0834754
^
0687: -0.0700851
-0.0703953
^
0688: -0.0681958
-0.0681070
^
0689: 0.0622926
0.0622399
^
0690: 0.0622926
0.0622399
^
0691: -0.0566227
-0.0564314
^
0703: STATE= 1 ENERGY= -585.3957141489 WEIGHT= 1.00000 S= 0.00
STATE= 1 ENERGY= -582.6821224495 WEIGHT= 1.00000 S= 0.00
```
The above error still appears when I change the optimization level of Fortran part to `-O3` or `-O2`. If the optimization level of Fortran part is `-O1` or lower, the program can run smoothly.
The above error only appears with ref size, with test/train sizes the program can run smoothly at optimization level of Fortran part `-Ofast`.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs