Skip to content

[flang][LoongArch] Runtime error in spec2017 527.cam4_r with size=ref and optimization levels "-O3"/"-Ofast" #136971

Open
@azuresky01

Description

@azuresky01

Tested OS: Debian sid/experimental loong64 installed with llvm 20.1.3

Optimization setting:

COPTIMIZE = -g -Ofast -march=la464 -flto=auto
FOPTIMIZE = -g -Ofast -march=la464 -flto=auto

When I test spec2017 527.cam4_r with above optimization setting and ref size, I met the following error:

run_base_refrate_mytest_llvm_20d1d3-m64.0000 -f compare.cmd -E -e compare.err -o compare.stdout'; no non-empty output files exist
  Command returned exit code 1
****************************************
Contents of cam4_r_base.mytest_llvm_20d1d3-m64.err
****************************************
Fortran STOP
IEEE arithmetic exceptions signaled: DIVBYZERO INEXACT INVALID OVERFLOW UNDERFLOW

****************************************
*** Miscompare of cam4_validate.txt

The content in miscomparison file is:

0001:   PASS:  4  points. 
        PASS:  0  points. 
              ^

The above error still appears when I change the optimization level of Fortran part to -O3. If the optimization level of Fortran part is -O2 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    backend:loongarchflangFlang issues not falling into any other category

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions