Bug 83451 - FAIL: gfortran.dg/matmul_10.f90 -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions (ICE)
Summary: FAIL: gfortran.dg/matmul_10.f90 -O3 -fomit-frame-pointer -funroll-loops -fp...
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: target (show other bugs)
Version: 8.0
: P3 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords: ice-on-valid-code
Depends on:
Blocks:
 
Reported: 2017-12-17 21:14 UTC by John David Anglin
Modified: 2018-03-14 23:55 UTC (History)
0 users

See Also:
Host: hppa64-hp-hpux11.11
Target: hppa64-hp-hpux11.11
Build: hppa64-hp-hpux11.11
Known to work:
Known to fail:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description John David Anglin 2017-12-17 21:14:55 UTC
4-hp-hpux11.11/./libquadmath/.libs  -lm    -o ./matmul_10.exe    (timeout = 300)
spawn /test/gnu/gcc/objdir/gcc/testsuite/gfortran/../../gfortran -B/test/gnu/gcc/objdir/gcc/testsuite/gfortran/../../ -B/test/gnu/gcc/objdir/hppa64-hp-hpux11.11
/./libgfortran/ /test/gnu/gcc/gcc/gcc/testsuite/gfortran.dg/matmul_10.f90 -fno-d
iagnostics-show-caret -fdiagnostics-color=never -O3 -fomit-frame-pointer -funrol
l-loops -fpeel-loops -ftracer -finline-functions -Warray-temporaries -B/test/gnu/gcc/objdir/hppa64-hp-hpux11.11/./libgfortran/.libs -L/test/gnu/gcc/objdir/hppa6
4-hp-hpux11.11/./libgfortran/.libs -L/test/gnu/gcc/objdir/hppa64-hp-hpux11.11/./
libgfortran/.libs -L/test/gnu/gcc/objdir/hppa64-hp-hpux11.11/./libatomic/.libs -
B/test/gnu/gcc/objdir/hppa64-hp-hpux11.11/./libquadmath/.libs -L/test/gnu/gcc/ob
jdir/hppa64-hp-hpux11.11/./libquadmath/.libs -L/test/gnu/gcc/objdir/hppa64-hp-hp
ux11.11/./libquadmath/.libs -lm -o ./matmul_10.exe
/test/gnu/gcc/gcc/gcc/testsuite/gfortran.dg/matmul_10.f90:12:18: Warning: Creating array temporary at (1) [-Warray-temporaries]
/test/gnu/gcc/gcc/gcc/testsuite/gfortran.dg/matmul_10.f90:17:31: Warning: Creating array temporary at (1) [-Warray-temporaries]
/test/gnu/gcc/gcc/gcc/testsuite/gfortran.dg/matmul_10.f90:17:15: Warning: Creating array temporary at (1) [-Warray-temporaries]
/test/gnu/gcc/gcc/gcc/testsuite/gfortran.dg/matmul_10.f90:22:0: Error: unrecognizable insn:
(insn 781 262 274 5 (set (subreg:DI (mem/c:SI (plus:DI (reg/f:DI 30 %r30)
                    (const_int -244 [0xffffffffffffff0c])) [9 %sfp+92 S4 A128]) 0)
        (reg:DI 37 %fr9)) "/test/gnu/gcc/gcc/gcc/testsuite/gfortran.dg/matmul_10.f90":12 -1
     (nil))
during RTL pass: reload
/test/gnu/gcc/gcc/gcc/testsuite/gfortran.dg/matmul_10.f90:22:0: internal compiler error: in extract_insn, at recog.c:2306
libbacktrace could not find executable to open
Please submit a full bug report,
with preprocessed source if appropriate.
See <https://gcc.gnu.org/bugs/> for instructions.
compiler exited with status 1
output is:
/test/gnu/gcc/gcc/gcc/testsuite/gfortran.dg/matmul_10.f90:12:18: Warning: Creating array temporary at (1) [-Warray-temporaries]
/test/gnu/gcc/gcc/gcc/testsuite/gfortran.dg/matmul_10.f90:17:31: Warning: Creating array temporary at (1) [-Warray-temporaries]
/test/gnu/gcc/gcc/gcc/testsuite/gfortran.dg/matmul_10.f90:17:15: Warning: Creating array temporary at (1) [-Warray-temporaries]
/test/gnu/gcc/gcc/gcc/testsuite/gfortran.dg/matmul_10.f90:22:0: Error: unrecognizable insn:
(insn 781 262 274 5 (set (subreg:DI (mem/c:SI (plus:DI (reg/f:DI 30 %r30)
                    (const_int -244 [0xffffffffffffff0c])) [9 %sfp+92 S4 A128]) 0)
        (reg:DI 37 %fr9)) "/test/gnu/gcc/gcc/gcc/testsuite/gfortran.dg/matmul_10.f90":12 -1
     (nil))
during RTL pass: reload
/test/gnu/gcc/gcc/gcc/testsuite/gfortran.dg/matmul_10.f90:22:0: internal compiler error: in extract_insn, at recog.c:2306
libbacktrace could not find executable to open
Please submit a full bug report,
with preprocessed source if appropriate.
See <https://gcc.gnu.org/bugs/> for instructions.

FAIL: gfortran.dg/matmul_10.f90   -O3 -fomit-frame-pointer -floops -ftracer -finline-functions (internal compiler error)
Comment 1 John David Anglin 2017-12-17 21:25:24 UTC
The subreg is strange.
Comment 2 John David Anglin 2017-12-17 21:27:51 UTC
Similar fails:

FAIL: gfortran.dg/matmul_10.f90   -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions  (test for excess errors)
UNRESOLVED: gfortran.dg/matmul_10.f90   -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions  compilation failed to produce executable
FAIL: gfortran.dg/matmul_10.f90   -O3 -g  (internal compiler error)
FAIL: gfortran.dg/matmul_10.f90   -O3 -g  (test for excess errors)
UNRESOLVED: gfortran.dg/matmul_10.f90   -O3 -g  compilation failed to produce executable
FAIL: gfortran.dg/matmul_2.f90   -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions  (internal compiler error)
FAIL: gfortran.dg/matmul_2.f90   -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions  (test for excess errors)
UNRESOLVED: gfortran.dg/matmul_2.f90   -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions  compilation failed to produce executable
FAIL: gfortran.dg/matmul_2.f90   -O3 -g  (internal compiler error)
FAIL: gfortran.dg/matmul_2.f90   -O3 -g  (test for excess errors)
UNRESOLVED: gfortran.dg/matmul_2.f90   -O3 -g  compilation failed to produce executable
Comment 3 John David Anglin 2018-03-12 15:11:17 UTC
It turns out we adjust the subreg in pa_emit_move_sequence but never emit
an insn with it.  The code just falls through and emits the unrecognizable
insn.  Testing a fix.
Comment 4 John David Anglin 2018-03-14 23:32:59 UTC
Author: danglin
Date: Wed Mar 14 23:31:57 2018
New Revision: 258541

URL: https://gcc.gnu.org/viewcvs?rev=258541&root=gcc&view=rev
Log:
	PR target/83451
	* config/pa/pa.c (pa_emit_move_sequence):  Always emit secondary reload
	insn for floating-point loads and stores.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/pa/pa.c
Comment 5 John David Anglin 2018-03-14 23:46:46 UTC
Fixed on trunk.
Comment 6 John David Anglin 2018-03-14 23:51:38 UTC
Author: danglin
Date: Wed Mar 14 23:51:06 2018
New Revision: 258542

URL: https://gcc.gnu.org/viewcvs?rev=258542&root=gcc&view=rev
Log:
	PR target/83451
	* config/pa/pa.c (pa_emit_move_sequence):  Always emit secondary reload
	insn for floating-point loads and stores.


Modified:
    branches/gcc-7-branch/gcc/ChangeLog
    branches/gcc-7-branch/gcc/config/pa/pa.c
Comment 7 John David Anglin 2018-03-14 23:55:33 UTC
Author: danglin
Date: Wed Mar 14 23:55:02 2018
New Revision: 258543

URL: https://gcc.gnu.org/viewcvs?rev=258543&root=gcc&view=rev
Log:
	PR target/83451
	* config/pa/pa.c (pa_emit_move_sequence):  Always emit secondary reload
	insn for floating-point loads and stores.


Modified:
    branches/gcc-6-branch/gcc/ChangeLog
    branches/gcc-6-branch/gcc/config/pa/pa.c