diff options
author | Thomas Koenig <tkoenig@gcc.gnu.org> | 2007-12-25 10:12:41 +0000 |
---|---|---|
committer | Thomas Koenig <tkoenig@gcc.gnu.org> | 2007-12-25 10:12:41 +0000 |
commit | 54a838424ea995d251eb361f86794e5215fbe574 (patch) | |
tree | c1fe36d9fd32f8ae0900595a250297afb4db485e /libgfortran | |
parent | 9c1ebeefcbbde83cc791557c9047eb42e9aeed2a (diff) | |
download | gcc-54a838424ea995d251eb361f86794e5215fbe574.zip gcc-54a838424ea995d251eb361f86794e5215fbe574.tar.gz gcc-54a838424ea995d251eb361f86794e5215fbe574.tar.bz2 |
re PR fortran/34566 (Matmul of logical values)
2007-12-25 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/34566
* m4/matmull.m4: Multiply xstride and ystride by correct kind.
* generated/matmul_l4.c: Regenerated.
* generated/matmul_l8.c: Regenerated.
* generated/matmul_l16.c: Regenerated.
2007-12-25 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/34566
* gfortran.dg/matmul_6.f90: New test.
From-SVN: r131167
Diffstat (limited to 'libgfortran')
-rw-r--r-- | libgfortran/ChangeLog | 8 | ||||
-rw-r--r-- | libgfortran/generated/matmul_l16.c | 4 | ||||
-rw-r--r-- | libgfortran/generated/matmul_l4.c | 4 | ||||
-rw-r--r-- | libgfortran/generated/matmul_l8.c | 4 | ||||
-rw-r--r-- | libgfortran/m4/matmull.m4 | 4 |
5 files changed, 16 insertions, 8 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index 9d84e1b..8f32ca0 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,11 @@ +2007-12-25 Thomas Koenig <tkoenig@gcc.gnu.org> + + PR libfortran/34566 + * m4/matmull.m4: Multiply xstride and ystride by correct kind. + * generated/matmul_l4.c: Regenerated. + * generated/matmul_l8.c: Regenerated. + * generated/matmul_l16.c: Regenerated. + 2007-12-19 Tobias Burnus <burnus@net-b.de> PR fortran/34530 diff --git a/libgfortran/generated/matmul_l16.c b/libgfortran/generated/matmul_l16.c index c3cabdb..b2b86ec 100644 --- a/libgfortran/generated/matmul_l16.c +++ b/libgfortran/generated/matmul_l16.c @@ -152,7 +152,7 @@ matmul_l16 (gfc_array_l16 * const restrict retarray, { astride = a->dim[1].stride * a_kind; count = a->dim[1].ubound + 1 - a->dim[1].lbound; - xstride = a->dim[0].stride; + xstride = a->dim[0].stride * a_kind; xcount = a->dim[0].ubound + 1 - a->dim[0].lbound; } if (GFC_DESCRIPTOR_RANK (b) == 1) @@ -167,7 +167,7 @@ matmul_l16 (gfc_array_l16 * const restrict retarray, { bstride = b->dim[0].stride * b_kind; assert(count == b->dim[0].ubound + 1 - b->dim[0].lbound); - ystride = b->dim[1].stride; + ystride = b->dim[1].stride * b_kind; ycount = b->dim[1].ubound + 1 - b->dim[1].lbound; } diff --git a/libgfortran/generated/matmul_l4.c b/libgfortran/generated/matmul_l4.c index 531603b..9a6cb1d 100644 --- a/libgfortran/generated/matmul_l4.c +++ b/libgfortran/generated/matmul_l4.c @@ -152,7 +152,7 @@ matmul_l4 (gfc_array_l4 * const restrict retarray, { astride = a->dim[1].stride * a_kind; count = a->dim[1].ubound + 1 - a->dim[1].lbound; - xstride = a->dim[0].stride; + xstride = a->dim[0].stride * a_kind; xcount = a->dim[0].ubound + 1 - a->dim[0].lbound; } if (GFC_DESCRIPTOR_RANK (b) == 1) @@ -167,7 +167,7 @@ matmul_l4 (gfc_array_l4 * const restrict retarray, { bstride = b->dim[0].stride * b_kind; assert(count == b->dim[0].ubound + 1 - b->dim[0].lbound); - ystride = b->dim[1].stride; + ystride = b->dim[1].stride * b_kind; ycount = b->dim[1].ubound + 1 - b->dim[1].lbound; } diff --git a/libgfortran/generated/matmul_l8.c b/libgfortran/generated/matmul_l8.c index 0b9b0be..7d4e35e 100644 --- a/libgfortran/generated/matmul_l8.c +++ b/libgfortran/generated/matmul_l8.c @@ -152,7 +152,7 @@ matmul_l8 (gfc_array_l8 * const restrict retarray, { astride = a->dim[1].stride * a_kind; count = a->dim[1].ubound + 1 - a->dim[1].lbound; - xstride = a->dim[0].stride; + xstride = a->dim[0].stride * a_kind; xcount = a->dim[0].ubound + 1 - a->dim[0].lbound; } if (GFC_DESCRIPTOR_RANK (b) == 1) @@ -167,7 +167,7 @@ matmul_l8 (gfc_array_l8 * const restrict retarray, { bstride = b->dim[0].stride * b_kind; assert(count == b->dim[0].ubound + 1 - b->dim[0].lbound); - ystride = b->dim[1].stride; + ystride = b->dim[1].stride * b_kind; ycount = b->dim[1].ubound + 1 - b->dim[1].lbound; } diff --git a/libgfortran/m4/matmull.m4 b/libgfortran/m4/matmull.m4 index b488632..54afa8a 100644 --- a/libgfortran/m4/matmull.m4 +++ b/libgfortran/m4/matmull.m4 @@ -154,7 +154,7 @@ sinclude(`matmul_asm_'rtype_code`.m4')dnl { astride = a->dim[1].stride * a_kind; count = a->dim[1].ubound + 1 - a->dim[1].lbound; - xstride = a->dim[0].stride; + xstride = a->dim[0].stride * a_kind; xcount = a->dim[0].ubound + 1 - a->dim[0].lbound; } if (GFC_DESCRIPTOR_RANK (b) == 1) @@ -169,7 +169,7 @@ sinclude(`matmul_asm_'rtype_code`.m4')dnl { bstride = b->dim[0].stride * b_kind; assert(count == b->dim[0].ubound + 1 - b->dim[0].lbound); - ystride = b->dim[1].stride; + ystride = b->dim[1].stride * b_kind; ycount = b->dim[1].ubound + 1 - b->dim[1].lbound; } |