gcc/libgfortran/m4
Harald Anlauf cd6cd6aed1 PR libfortran/97063 - Wrong result for vector (step size is negative) * matrix
The MATMUL intrinsic provided a wrong result for rank-1 times rank-2 array
when a negative stride was used for addressing the elements of the rank-1
array, because a check on strides was erroneously placed before the check
on the rank.  Interchange order of checks.

libgfortran/ChangeLog:

	* m4/matmul_internal.m4: Move check for rank-1 times rank-2 before
	checks on strides for rank-2 times rank-2.
	* generated/matmul_c10.c: Regenerated.
	* generated/matmul_c16.c: Likewise.
	* generated/matmul_c4.c: Likewise.
	* generated/matmul_c8.c: Likewise.
	* generated/matmul_i1.c: Likewise.
	* generated/matmul_i16.c: Likewise.
	* generated/matmul_i2.c: Likewise.
	* generated/matmul_i4.c: Likewise.
	* generated/matmul_i8.c: Likewise.
	* generated/matmul_r10.c: Likewise.
	* generated/matmul_r16.c: Likewise.
	* generated/matmul_r4.c: Likewise.
	* generated/matmul_r8.c: Likewise.
	* generated/matmulavx128_c10.c: Likewise.
	* generated/matmulavx128_c16.c: Likewise.
	* generated/matmulavx128_c4.c: Likewise.
	* generated/matmulavx128_c8.c: Likewise.
	* generated/matmulavx128_i1.c: Likewise.
	* generated/matmulavx128_i16.c: Likewise.
	* generated/matmulavx128_i2.c: Likewise.
	* generated/matmulavx128_i4.c: Likewise.
	* generated/matmulavx128_i8.c: Likewise.
	* generated/matmulavx128_r10.c: Likewise.
	* generated/matmulavx128_r16.c: Likewise.
	* generated/matmulavx128_r4.c: Likewise.
	* generated/matmulavx128_r8.c: Likewise.

gcc/testsuite/ChangeLog:

	* gfortran.dg/matmul_20.f90: New test.
2020-10-18 20:15:26 +02:00
..
all.m4
any.m4
bessel.m4
count.m4
cshift0.m4
cshift1.m4
cshift1a.m4
eoshift1.m4
eoshift3.m4
findloc0.m4
findloc0s.m4
findloc1.m4
findloc1s.m4
findloc2s.m4
head.m4
iall.m4
iany.m4
ifindloc0.m4
ifindloc1.m4
ifindloc2.m4
iforeach-s.m4
iforeach-s2.m4
iforeach.m4
ifunction-s.m4
ifunction-s2.m4
ifunction.m4
ifunction_logical.m4
in_pack.m4
in_unpack.m4
iparity.m4
iparm.m4
matmul.m4
matmul_internal.m4 PR libfortran/97063 - Wrong result for vector (step size is negative) * matrix 2020-10-18 20:15:26 +02:00
matmulavx128.m4
matmull.m4
maxloc0.m4
maxloc0s.m4
maxloc1.m4
maxloc1s.m4
maxloc2s.m4
maxval.m4
maxval0s.m4
maxval1s.m4
minloc0.m4
minloc0s.m4
minloc1.m4
minloc1s.m4
minloc2s.m4
minval.m4
minval0s.m4
minval1s.m4
misc_specifics.m4
mtype.m4
norm2.m4
pack.m4
parity.m4
pow.m4
product.m4
reshape.m4
shape.m4
specific.m4
specific2.m4
spread.m4
sum.m4
types.m4
unpack.m4