Nvfortran error: Illegal instruction (core dumped)

Dear all.

With:

nvfortran --version
nvfortran 26.3-0 64-bit target on x86-64 Linux -tp sandybridge
NVIDIA Compilers and Tools
Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.

and the test case

  program test
    implicit none
    integer      , parameter :: irp = 8
    real    (irp), parameter :: tercio = 1.0_irp / 3.0_irp
    real    (irp), dimension (3) :: saj
    real    (irp) :: pro, daj
    !
    write (*,*)" irp    = ", irp
    write (*,*)" tercio = ", tercio
    !
    saj = [ 0.4222131572793589_irp, 0.3780741577882090_irp, 0.3290526856292827_irp ]
    write (*,*)" saj    = ", saj
    !
    pro = product (saj)
    write (*,*)" pro    = ", pro
    !
    daj = pro**tercio
    write (*,*)" daj    = ", daj
  end program test

I get the error message:

$ test.exe
irp = 8
tercio = 0.3333333333333333
saj = 0.4222131572793589 0.3780741577882090 0.3290526856292827
pro = 5.2525983880679063E-002
Illegal instruction (core dumped) test.exe

Please, any suggestions on how to fix this?
Thanks in advance..

Regards,
Jorge D’Elia.

Hi Jorge,

This is a known issue when using the dexp intrinsic on Sandybridge. The intrinsic being used has an AVX2 instruction which isn’t supported on Sandybridge.

I have an open report, TPR#38436, and will add your post to it so I can notify you once a fix is included in a future release.

The work around is to compile with the “-tp px” flag, to target a generic x86 system.

-Mat

Hi Mat,

Thanks for your reply with the observations and suggestions. It worked ok! Also, thanks with to be included in the open report TPR#38436.

Regards.
Jorge.