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