cancel
Showing results for 
Search instead for 
Did you mean: 

Drivers & Software

albandil
Journeyman III

AOCC 3.1 internal compiler error (real128 ** int64)

I am running into an internal compiler error with Flang from AOCC 3.1 when attempting to raise quadruple-precision base to a negative long-integer power:

 

bash $ cat aocc-ice-reproducer.f90 
program precisn_gbl

    use iso_fortran_env, only: int32, int64, real128

    implicit none

    real(real128)  :: x = 2, y

   !y = x ** (-2_int32)     ! <-- OK
   !y = x ** (+2_int64)     ! <-- OK
   !y = x ** (-2._real128)  ! <-- OK
    y = x ** (-2_int64)     ! <-- FAILS "ICE: unknown operation: QTOK i14 i10"

    print *, y

end program precisn_gbl
bash $ . /opt/AMD/aocc-compiler-3.1.0/setenv_AOCC.sh 
bash $ flang aocc-ice-reproducer.f90 
ILM file line 165: unknown operation: QTOK i14 i10
ILM FILE line 166: Reading ilm 19 into slot 16
ILM FILE line 166: Invalid ilm operand 16
F90-F-0000-Internal compiler error. Errors in ILM file       3  (aocc-ice-reproducer.f90: 7)
bash $

 

However, this code works fine with both gfortran 10.3 and ifort 2021.3.0. I think this is a bug in the AOCC compiler. Is there a way how to report it to AMD developers?

0 Likes
0 Replies