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?