<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/137000>137000</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[flang][LoongArch] Miscomparison error in spec2006 416.gamess with size=ref and optimization levels "-O2"/"-O3"/"-Ofast"
</td>
</tr>
<tr>
<th>Labels</th>
<td>
flang
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
azuresky01
</td>
</tr>
</table>
<pre>
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`.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzcV1tv27gS_jX0y0DCkNT1wQ9KbPcYaOMi8Tk97UtBS7TFXUo0SDpp8usXlB3bubTb7UuKJQxYvHwznG9IzoxwTm16KcckvSDpZCR2vjV2LB52Vro_75GOVqa5Hy-l87KBxQ3hFUzkSokenGoIm8lvW2lVJ3svNGhj-k2WgOqdF1rLBu6Ub0Hr2w4YxjTmBCuC1WLrVacehFemBye9V_2G8Go_STI8_LC6XHxczj_Mv0xhaIRPIFqshfMQdcLWLeETLZIsgWitvSF8InbeQLTuTeS8VbWPhFbCBfFYzX5F2LMNEaw-tbKHOXjpPLitrBliBgnN4o3opHN7k8XK3Eowr9gJom_AyjU49SAJu4Q5dNKDbyWsjdbmLqyR1hr7KiN2139dCSe_Wrn-GoiNsmSlfBS2EyMiQlQDhUhCbbqtsDKW1kJkjl3nG7PzEK2PI3XXHPSwN_phdWl6L3vvwKzBWyUejFa7Luz9bfc1M9Zb0cPNcvExnP35FVQX10uC1Xw6nYKwyred9KoG-a2W2-BoB-FKCS2bPWD6_-pyCfOr_1Xv55M3J_r3cXPLTL1jhF3EGysaJXv_m7n7V30M_72aTK9n7xef3pzv38fb9b03TvUyZv8SL785u-fa4YNyh-f82Qtqdv5lCAvBpt475-XyuFMOVA--VQ7kN9FttXw1FGGWJoEYgCg0mF0vvkyv4HJxPYXp1fT63Wc4RVqIKJYsxozyokBKsPpZVFHGPEmKssjygCLpdNCdl3vdN8tqGSI6hQN8iOtpkca8THOa0KQoAW4GaRgjAtx8Oe98rC6ncPP5A-GTirAcICg5tJPsk-ihRWnB4qxglLEkKdN_LP_RiCLdG4FxmedlWvIz5WGsoIjJE0A2ACKMseBFSfMTYD-W5OlTQH4E5IhFSp8CcuRleq71sR3xRcCHpVlBy7R4Cs8Kijn-CF4-GogZYyXLwtp9h5flD4AlvgI8MnOGPwLo0dA0yxh7xkyaJZwm31eYIw_4weN7N1OAZ25_carg03T-7j_LME-H5Avh_CgEbX8n8Okx-r7Ag7xnF3nZykOqOWSM4LzSGsR2K4V1cLfPVOtW9Bs5ZJhPElItb6UO9__xPdwK68EbIBlGC04yBGP3HUYyjGG-_lkhyu1x9CBEmztpQ7Ib8FtrNlZ0UIse7K4H1xnjW30fv26T6fX9yaSQXJ9nz8NASH4Jm3krVD_MuB8qAuF_xojBglAfBONHzZg3JS_FSI5pnqQJw7IoR-2YsSZJaS7XgmZJnkna4HrF12LFSo4s5yM1ZshSTBinKZZJGWe0XhVFTVnCGiaxJgnKTigdh3Q-NnYzUs7t5JjyHBFHWqykdkOBxthai35DGAu1mh0P-f9qt3EkQa2cdycRXnk9VHV7RDoh6cX7UJ5VodJJJ6eIoZzpD1QH9r5X0QyE80ngPlQwL_lzQBgLR4UxwmbDNz_7HohkbLSzetx6v3UhpoS52Ub5dreKa9MRNgsGHP6irTV_yDp4diDEETY7cHI7Zn8FAAD__yTGyzI">