On 8/12/23 6:41 AM, Jorge D'Elia wrote:
Hi Paul,

----- Mensaje original -----
De: "Paul Richard Thomas" <paul.richard.tho...@gmail.com>
Para: "Jerry" <jvdelis...@gmail.com>
CC: "Jorge D'Elia" <jde...@cimec.unl.edu.ar>, "Gfortran List" <fortran@gcc.gnu.org>, 
"Jorge D'Elia"
<jde...@intec.unl.edu.ar>
Enviado: Sábado, 12 de Agosto 2023 3:56:44
Asunto: Re: beta gfortran 14.x.y (using -march=native and intrinsic repeat) 
gives a signal SIGILL

Hi Jorge,

There were some recent patches in this area IIRC.

Jerry

The tree dump is identical to mine, obtained with GNU Fortran (GCC)
14.0.0 20230809 (experimental), so I doubt that any recent patches are
responsible.

It seems so. Furthermore, I have the feeling that the problem is outside
GFortran, between the use of -mtune=native versus -march=native. For example,

$ gfortran --version
GNU Fortran (GCC) 14.0.0 20230808 (experimental)

$ ls -all
total 4
drwxr-xr-x. 1 jdelia jdelia   16 Aug 12 10:06 .
drwxr-xr-x. 1 jdelia jdelia 2782 Aug 12 10:05 ..
-rwxr-xr-x. 1 jdelia jdelia  223 Aug 11 08:28 test.f90

$ gfortran -mtune=native -fcheck=all -std=f2018 -Wall -Werror -Wextra -g 
-fdump-tree-original -o test-mtune.exe test.f90
$ ls -all
total 36
drwxr-xr-x. 1 jdelia jdelia   110 Aug 12 10:17 .
drwxr-xr-x. 1 jdelia jdelia  2782 Aug 12 10:05 ..
-rwxr-xr-x. 1 jdelia jdelia   223 Aug 11 08:28 test.f90
-rwxr-xr-x. 1 jdelia jdelia 26856 Aug 12 10:17 test-mtune.exe
-rw-r--r--. 1 jdelia jdelia  1405 Aug 12 10:17 test-mtune-test.f90.005t.original

$ mv test-mtune-test.f90.005t.original test-mtune.f90.005t.original

$ ls -all
total 36
drwxr-xr-x. 1 jdelia jdelia   100 Aug 12 10:19 .
drwxr-xr-x. 1 jdelia jdelia  2782 Aug 12 10:05 ..
-rwxr-xr-x. 1 jdelia jdelia   223 Aug 11 08:28 test.f90
-rwxr-xr-x. 1 jdelia jdelia 26856 Aug 12 10:17 test-mtune.exe
-rw-r--r--. 1 jdelia jdelia  1405 Aug 12 10:17 test-mtune.f90.005t.original

$ gfortran -march=native -fcheck=all -std=f2018 -Wall -Werror -Wextra -g 
-fdump-tree-original -o test-march.exe test.f90
$ ls -all
total 68
drwxr-xr-x. 1 jdelia jdelia   194 Aug 12 10:19 .
drwxr-xr-x. 1 jdelia jdelia  2782 Aug 12 10:05 ..
-rwxr-xr-x. 1 jdelia jdelia   223 Aug 11 08:28 test.f90
-rwxr-xr-x. 1 jdelia jdelia 28064 Aug 12 10:19 test-march.exe
-rw-r--r--. 1 jdelia jdelia  1405 Aug 12 10:19 test-march-test.f90.005t.original
-rwxr-xr-x. 1 jdelia jdelia 26856 Aug 12 10:17 test-mtune.exe
-rw-r--r--. 1 jdelia jdelia  1405 Aug 12 10:17 test-mtune.f90.005t.original

$ mv test-march-test.f90.005t.original test-march.f90.005t.original

$ ls -all
total 68
drwxr-xr-x. 1 jdelia jdelia   184 Aug 12 10:19 .
drwxr-xr-x. 1 jdelia jdelia  2782 Aug 12 10:05 ..
-rwxr-xr-x. 1 jdelia jdelia   223 Aug 11 08:28 test.f90
-rwxr-xr-x. 1 jdelia jdelia 28064 Aug 12 10:19 test-march.exe
-rw-r--r--. 1 jdelia jdelia  1405 Aug 12 10:19 test-march.f90.005t.original
-rwxr-xr-x. 1 jdelia jdelia 26856 Aug 12 10:17 test-mtune.exe
-rw-r--r--. 1 jdelia jdelia  1405 Aug 12 10:17 test-mtune.f90.005t.original

$ diff test-mtune.f90.005t.original test-march.f90.005t.original
# (nothing is shown, thus both tree dumps ares identical).

$ test-mtune.exe
   cc :

$ test-march.exe

Program received signal SIGILL: Illegal instruction.

Backtrace for this error:
#0  0x15268845fb1f in ???
#1  0x4011c2 in test
        at /home/jdelia/TEST/test.f90:6
#2  0x4012ae in main
        at /home/jdelia/TEST/test.f90:8
Illegal instruction (core dumped)

Being unable to reproduce the error, there is not much that I can do.
Sorry

Non problem. To avoid this error, for now we exclude the use
of -march=native in our makefiles, and just use -mtune=native.

Paul

Thanks for your time.

Regards.
Jorge.
--

I have not been able to reproduce it here.  I tried on:

gcc version 14.0.0 20230804 (experimental) (GCC)

and

gcc version 14.0.0 20230812 (experimental) (GCC)

I wonder if you caught a version in between changes happening?

$ lscpu
Architecture:            x86_64
  CPU op-mode(s):        32-bit, 64-bit
  Address sizes:         48 bits physical, 48 bits virtual
  Byte Order:            Little Endian

I started to draft a PR this morning, not sure.

I know it is a pain to do, can you build a later version of gfortran and see if your results are different?

Also, I have seen times where the libgfortran files were out of sync with the build because LD_LIBRARY_PATH was not pointing in the correct place. So check these things.

Regards,

Jerry

Reply via email to