re PR libfortran/32972 (performance of pack/unpack)
authorThomas Koenig <tkoenig@gcc.gnu.org>
Wed, 19 Mar 2008 15:42:55 +0000 (15:42 +0000)
committerThomas Koenig <tkoenig@gcc.gnu.org>
Wed, 19 Mar 2008 15:42:55 +0000 (15:42 +0000)
commit8e1d7686de136571f68185066dec9bcb28019a8d
tree370b9d6b0738999469c560cab3acf85bde3ceb2d
parentcd7e0bd4b185112f64b7b78264b0bfa6eb27d26b
re PR libfortran/32972 (performance of pack/unpack)

2008-03-19  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR libfortran/32972
* Makefile.am (in_pack_c): Add in_pack_i1.c, in_pack_i2.c,
in_pack_r4.c, in_pack_r8.c, in_pack_r10.c and in_pack_r16.c.
(in_unpack_c): Add in_unpack_i1.c, in_unpack_i2.c,
in_unpack_r4.c, in_unpack_r8.c, in_unpack_r10.c and
in_unpack_r16.c.
* Makefile.in: Regenerate.
* libgfortran.h:  Add prototypes for internal_pack_1,
internal_pack_2, internal_pack_16, internal_pack_r4,
internal_pack_r8, internal_pack_r10, internal_pack_r16,
internal_pack_c10 and internal_pack_c16.  Add prototypes for
internal_unpack_1, internal_unpack_2, internal_unpack_16,
internal_unpack_r4, internal_unpack_r8, internal_unpack_r10,
internal_unpack_r16, internal_unpack_c10 and
internal_unpack_c16.
* runtime/in_pack_generic.c (internal_pack): Use sizeof instead
of hardwired sizes.
Add calls to internal_pack_1, internal_pack_2,
internal_pack_16, internal_pack_r4, internal_pack_r8,
internal_pack_r10, internal_pack_r16, internal_pack_c10 and
internal_pack_c16.
* runtime/in_unpack_generic.c (internal_unpack):  Use sizeof
instead of hardwired sizes.
Add calls to internal_unpack_1, internal_unpack_2,
internal_unpack_16, internal_unpack_r4, internal_unpack_r8,
internal_unpack_r10, internal_unpack_r16, internal_unpack_c10
and internal_unpack_c16.
* generated/in_pack_r4.c:  New file.
* generated/in_pack_i2.c:  New file.
* generated/in_unpack_i1.c:  New file.
* generated/in_pack_r10.c:  New file.
* generated/in_unpack_r4.c:  New file.
* generated/in_unpack_i2.c:  New file.
* generated/in_unpack_r16.c:  New file.
* generated/in_pack_r8.c:  New file.
* generated/in_unpack_r10.c:  New file.
* generated/in_unpack_r8.c:  New file.
* generated/in_pack_r16.c:  New file.
* generated/in_pack_i1.c:  New file.

2008-03-19  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR libfortran/32972
* gfortran.dg/internal_pack_1.f90:  New test case.
* gfortran.dg/internal_pack_2.f90:  New test case.
* gfortran.dg/internal_pack_3.f90:  New test case.

From-SVN: r133344
22 files changed:
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/internal_pack_1.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/internal_pack_2.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/internal_pack_3.f90 [new file with mode: 0644]
libgfortran/ChangeLog
libgfortran/Makefile.am
libgfortran/Makefile.in
libgfortran/generated/in_pack_i1.c [new file with mode: 0644]
libgfortran/generated/in_pack_i2.c [new file with mode: 0644]
libgfortran/generated/in_pack_r10.c [new file with mode: 0644]
libgfortran/generated/in_pack_r16.c [new file with mode: 0644]
libgfortran/generated/in_pack_r4.c [new file with mode: 0644]
libgfortran/generated/in_pack_r8.c [new file with mode: 0644]
libgfortran/generated/in_unpack_i1.c [new file with mode: 0644]
libgfortran/generated/in_unpack_i2.c [new file with mode: 0644]
libgfortran/generated/in_unpack_r10.c [new file with mode: 0644]
libgfortran/generated/in_unpack_r16.c [new file with mode: 0644]
libgfortran/generated/in_unpack_r4.c [new file with mode: 0644]
libgfortran/generated/in_unpack_r8.c [new file with mode: 0644]
libgfortran/libgfortran.h
libgfortran/runtime/in_pack_generic.c
libgfortran/runtime/in_unpack_generic.c