The patch causes the following regressions: FAIL: gfortran.dg/coarray/dummy_1.f90 -fcoarray=single -O2 -latomic (internal compiler error) FAIL: gfortran.dg/coarray/dummy_1.f90 -fcoarray=single -O2 -latomic (test for excess errors) FAIL: gfortran.dg/coarray/dummy_1.f90 -fcoarray=lib -O2 -lcaf_single -latomic (internal compiler error) FAIL: gfortran.dg/coarray/dummy_1.f90 -fcoarray=lib -O2 -lcaf_single -latomic (test for excess errors) FAIL: gfortran.dg/array_function_3.f90 -O (internal compiler error) FAIL: gfortran.dg/array_function_3.f90 -O (test for excess errors) FAIL: gfortran.dg/bind_c_vars.f90 -g -flto (test for excess errors) FAIL: gfortran.dg/bound_2.f90 -O0 (internal compiler error) FAIL: gfortran.dg/bound_2.f90 -O0 (test for excess errors) FAIL: gfortran.dg/bound_2.f90 -O1 (internal compiler error) FAIL: gfortran.dg/bound_2.f90 -O1 (test for excess errors) FAIL: gfortran.dg/bound_2.f90 -O2 (internal compiler error) FAIL: gfortran.dg/bound_2.f90 -O2 (test for excess errors) FAIL: gfortran.dg/bound_2.f90 -O3 -fomit-frame-pointer (internal compiler error) FAIL: gfortran.dg/bound_2.f90 -O3 -fomit-frame-pointer (test for excess errors) FAIL: gfortran.dg/bound_2.f90 -O3 -fomit-frame-pointer -funroll-loops (internal compiler error) FAIL: gfortran.dg/bound_2.f90 -O3 -fomit-frame-pointer -funroll-loops (test for excess errors) FAIL: gfortran.dg/bound_2.f90 -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions (internal compiler error) FAIL: gfortran.dg/bound_2.f90 -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions (test for excess errors) FAIL: gfortran.dg/bound_2.f90 -O3 -g (internal compiler error) FAIL: gfortran.dg/bound_2.f90 -O3 -g (test for excess errors) FAIL: gfortran.dg/bound_2.f90 -Os (internal compiler error) FAIL: gfortran.dg/bound_2.f90 -Os (test for excess errors) FAIL: gfortran.dg/bound_2.f90 -g -flto (internal compiler error) FAIL: gfortran.dg/bound_7.f90 -O0 (test for excess errors) FAIL: gfortran.dg/bound_7.f90 -O1 (internal compiler error) FAIL: gfortran.dg/bound_7.f90 -O1 (test for excess errors) FAIL: gfortran.dg/bound_7.f90 -O2 (internal compiler error) FAIL: gfortran.dg/bound_7.f90 -O2 (test for excess errors) FAIL: gfortran.dg/bound_7.f90 -O3 -fomit-frame-pointer (internal compiler error) FAIL: gfortran.dg/bound_7.f90 -O3 -fomit-frame-pointer (test for excess errors) FAIL: gfortran.dg/bound_7.f90 -O3 -fomit-frame-pointer -funroll-loops (internal compiler error) FAIL: gfortran.dg/bound_7.f90 -O3 -fomit-frame-pointer -funroll-loops (test for excess errors) FAIL: gfortran.dg/bound_7.f90 -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions (internal compiler error) FAIL: gfortran.dg/bound_7.f90 -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions (test for excess errors) FAIL: gfortran.dg/bound_7.f90 -O3 -g (internal compiler error) FAIL: gfortran.dg/bound_7.f90 -O3 -g (test for excess errors) FAIL: gfortran.dg/bound_7.f90 -Os (internal compiler error) FAIL: gfortran.dg/bound_7.f90 -Os (test for excess errors) FAIL: gfortran.dg/bound_7.f90 -g -flto (internal compiler error) FAIL: gfortran.dg/bound_7.f90 -g -flto (test for excess errors) FAIL: gfortran.dg/bound_8.f90 -O0 (internal compiler error) FAIL: gfortran.dg/bound_8.f90 -O0 (test for excess errors) FAIL: gfortran.dg/bound_8.f90 -O1 (internal compiler error) FAIL: gfortran.dg/bound_8.f90 -O1 (test for excess errors) FAIL: gfortran.dg/bound_8.f90 -O2 (internal compiler error) FAIL: gfortran.dg/bound_8.f90 -O2 (test for excess errors) FAIL: gfortran.dg/bound_8.f90 -O3 -fomit-frame-pointer (internal compiler error) FAIL: gfortran.dg/bound_8.f90 -O3 -fomit-frame-pointer (test for excess errors) FAIL: gfortran.dg/bound_8.f90 -O3 -fomit-frame-pointer -funroll-loops (internal compiler error) FAIL: gfortran.dg/bound_8.f90 -O3 -fomit-frame-pointer -funroll-loops (test for excess errors) FAIL: gfortran.dg/bound_8.f90 -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions (internal compiler error) FAIL: gfortran.dg/bound_8.f90 -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions (test for excess errors) FAIL: gfortran.dg/bound_8.f90 -O3 -g (internal compiler error) FAIL: gfortran.dg/bound_8.f90 -O3 -g (test for excess errors) FAIL: gfortran.dg/bound_8.f90 -Os (internal compiler error) FAIL: gfortran.dg/bound_8.f90 -Os (test for excess errors) FAIL: gfortran.dg/bound_8.f90 -g -flto (internal compiler error) FAIL: gfortran.dg/bound_8.f90 -g -flto (test for excess errors)
I think the line if (!upper && as->type == AS_ASSUMED_SHAPE && dim) should be something such as (untested) if (!upper && dim && as && as->type == AS_ASSUMED_SHAPE) Dominique > Le 5 avr. 2015 à 22:37, Thomas Koenig <tkoe...@netcologne.de> a écrit : > > Hi Dominique, > >> which means that -fexternal-blas should disable the inlining. > > It is not surprising that a higly tuned BLAS library is better than > a simple inlining for large matrices. > > I did some tests by adjusting n; it seems the inline version is > faster for n<=22, which is not too bad. > > Regarding your other test case: This tests matrix*vector > multiplication, which is not implemented yet :-) > > Regards, > > Thomas