2017-06-24 Thomas Koenig <tkoenig@gcc.gnu.org>
commit3d3c32f2737c787e2db7a863d979ece2ee7993fc
authortkoenig <tkoenig@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 24 Jun 2017 07:07:56 +0000 (24 07:07 +0000)
committertkoenig <tkoenig@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 24 Jun 2017 07:07:56 +0000 (24 07:07 +0000)
tree2c28733ee096cbdb641e42b511b18f7c28205330
parent5f65124206a14f8cb9d2de495f3fffb6f814637c
2017-06-24  Thomas Koenig  <tkoenig@gcc.gnu.org>

        PR fortran/52473
* Makefile.am:  Add i_cshift1a_c.  Add rules to generate files
from cshift1a.m4.
* Makefile.in: Regenerated.
* m4/cshift1a.m4: New file.
* m4/cshift.m4 (cshift1): Split up inner loop by removing
condition. Use memcpy where possible.  Call helper functions
based on dtype.
* libgfortran.h: Add prototypes for cshift1_16_c10,
cshift1_16_c16, cshift1_16_c4, cshift1_16_c8, cshift1_16_i1,
cshift1_16_i16, cshift1_16_i2, cshift1_16_i4, cshift1_16_i8,
cshift1_16_r10, cshift1_16_r16, cshift1_16_r4, cshift1_16_r8,
cshift1_4_c10, cshift1_4_c16, cshift1_4_c4, cshift1_4_c8,
cshift1_4_i1, cshift1_4_i16, cshift1_4_i2, cshift1_4_i4,
cshift1_4_i8, cshift1_4_r10, cshift1_4_r16, cshift1_4_r4,
cshift1_4_r8, cshift1_8_c10, cshift1_8_c16, cshift1_8_c4,
cshift1_8_c8, cshift1_8_i1, cshift1_8_i16, cshift1_8_i2,
cshift1_8_i4, cshift1_8_i8, cshift1_8_r10, cshift1_8_r16,
cshift1_8_r4 and cshift1_8_r8.
* generated/cshift1_16_c10.c: New file, generated from cshift1a.m4.
* generated/cshift1_16_c16.c: New file, generated from cshift1a.m4.
* generated/cshift1_16_c4.c: New file, generated from cshift1a.m4.
* generated/cshift1_16_c8.c: New file, generated from cshift1a.m4.
* generated/cshift1_16_i1.c: New file, generated from cshift1a.m4.
* generated/cshift1_16_i16.c: New file, generated from cshift1a.m4.
* generated/cshift1_16_i2.c: New file, generated from cshift1a.m4.
* generated/cshift1_16_i4.c: New file, generated from cshift1a.m4.
* generated/cshift1_16_i8.c: New file, generated from cshift1a.m4.
* generated/cshift1_16_r10.c: New file, generated from cshift1a.m4.
* generated/cshift1_16_r16.c: New file, generated from cshift1a.m4.
* generated/cshift1_16_r4.c: New file, generated from cshift1a.m4.
* generated/cshift1_16_r8.c: New file, generated from cshift1a.m4.
* generated/cshift1_4_c10.c: New file, generated from cshift1a.m4.
* generated/cshift1_4_c16.c: New file, generated from cshift1a.m4.
* generated/cshift1_4_c4.c: New file, generated from cshift1a.m4.
* generated/cshift1_4_c8.c: New file, generated from cshift1a.m4.
* generated/cshift1_4_i1.c: New file, generated from cshift1a.m4.
* generated/cshift1_4_i16.c: New file, generated from cshift1a.m4.
* generated/cshift1_4_i2.c: New file, generated from cshift1a.m4.
* generated/cshift1_4_i4.c: New file, generated from cshift1a.m4.
* generated/cshift1_4_i8.c: New file, generated from cshift1a.m4.
* generated/cshift1_4_r10.c: New file, generated from cshift1a.m4.
* generated/cshift1_4_r16.c: New file, generated from cshift1a.m4.
* generated/cshift1_4_r4.c: New file, generated from cshift1a.m4.
* generated/cshift1_4_r8.c: New file, generated from cshift1a.m4.
* generated/cshift1_8_c10.c: New file, generated from cshift1a.m4.
* generated/cshift1_8_c16.c: New file, generated from cshift1a.m4.
* generated/cshift1_8_c4.c: New file, generated from cshift1a.m4.
* generated/cshift1_8_c8.c: New file, generated from cshift1a.m4.
* generated/cshift1_8_i1.c: New file, generated from cshift1a.m4.
* generated/cshift1_8_i16.c: New file, generated from cshift1a.m4.
* generated/cshift1_8_i2.c: New file, generated from cshift1a.m4.
* generated/cshift1_8_i4.c: New file, generated from cshift1a.m4.
* generated/cshift1_8_i8.c: New file, generated from cshift1a.m4.
* generated/cshift1_8_r10.c: New file, generated from cshift1a.m4.
* generated/cshift1_8_r16.c: New file, generated from cshift1a.m4.
* generated/cshift1_8_r4.c: New file, generated from cshift1a.m4.
* generated/cshift1_8_r8.c: New file, generated from cshift1a.m4.

2017-06-24  Thomas Koenig  <tkoenig@gcc.gnu.org>

        PR fortran/52473
* gfortran.dg/cshift_2.f90:  New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249620 138bc75d-0d04-0410-961f-82ee72b054a4
50 files changed:
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/cshift_2.f90 [new file with mode: 0644]
libgfortran/ChangeLog
libgfortran/Makefile.am
libgfortran/Makefile.in
libgfortran/generated/cshift1_16.c
libgfortran/generated/cshift1_16_c10.c [new file with mode: 0644]
libgfortran/generated/cshift1_16_c16.c [new file with mode: 0644]
libgfortran/generated/cshift1_16_c4.c [new file with mode: 0644]
libgfortran/generated/cshift1_16_c8.c [new file with mode: 0644]
libgfortran/generated/cshift1_16_i1.c [new file with mode: 0644]
libgfortran/generated/cshift1_16_i16.c [new file with mode: 0644]
libgfortran/generated/cshift1_16_i2.c [new file with mode: 0644]
libgfortran/generated/cshift1_16_i4.c [new file with mode: 0644]
libgfortran/generated/cshift1_16_i8.c [new file with mode: 0644]
libgfortran/generated/cshift1_16_r10.c [new file with mode: 0644]
libgfortran/generated/cshift1_16_r16.c [new file with mode: 0644]
libgfortran/generated/cshift1_16_r4.c [new file with mode: 0644]
libgfortran/generated/cshift1_16_r8.c [new file with mode: 0644]
libgfortran/generated/cshift1_4.c
libgfortran/generated/cshift1_4_c10.c [new file with mode: 0644]
libgfortran/generated/cshift1_4_c16.c [new file with mode: 0644]
libgfortran/generated/cshift1_4_c4.c [new file with mode: 0644]
libgfortran/generated/cshift1_4_c8.c [new file with mode: 0644]
libgfortran/generated/cshift1_4_i1.c [new file with mode: 0644]
libgfortran/generated/cshift1_4_i16.c [new file with mode: 0644]
libgfortran/generated/cshift1_4_i2.c [new file with mode: 0644]
libgfortran/generated/cshift1_4_i4.c [new file with mode: 0644]
libgfortran/generated/cshift1_4_i8.c [new file with mode: 0644]
libgfortran/generated/cshift1_4_r10.c [new file with mode: 0644]
libgfortran/generated/cshift1_4_r16.c [new file with mode: 0644]
libgfortran/generated/cshift1_4_r4.c [new file with mode: 0644]
libgfortran/generated/cshift1_4_r8.c [new file with mode: 0644]
libgfortran/generated/cshift1_8.c
libgfortran/generated/cshift1_8_c10.c [new file with mode: 0644]
libgfortran/generated/cshift1_8_c16.c [new file with mode: 0644]
libgfortran/generated/cshift1_8_c4.c [new file with mode: 0644]
libgfortran/generated/cshift1_8_c8.c [new file with mode: 0644]
libgfortran/generated/cshift1_8_i1.c [new file with mode: 0644]
libgfortran/generated/cshift1_8_i16.c [new file with mode: 0644]
libgfortran/generated/cshift1_8_i2.c [new file with mode: 0644]
libgfortran/generated/cshift1_8_i4.c [new file with mode: 0644]
libgfortran/generated/cshift1_8_i8.c [new file with mode: 0644]
libgfortran/generated/cshift1_8_r10.c [new file with mode: 0644]
libgfortran/generated/cshift1_8_r16.c [new file with mode: 0644]
libgfortran/generated/cshift1_8_r4.c [new file with mode: 0644]
libgfortran/generated/cshift1_8_r8.c [new file with mode: 0644]
libgfortran/libgfortran.h
libgfortran/m4/cshift1.m4
libgfortran/m4/cshift1a.m4 [new file with mode: 0644]