This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/52473] CSHIFT slow - inline it?
- From: "tkoenig at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sat, 24 Jun 2017 07:08:29 +0000
- Subject: [Bug fortran/52473] CSHIFT slow - inline it?
- Auto-submitted: auto-generated
- References: <bug-52473-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52473
--- Comment #14 from Thomas Koenig <tkoenig at gcc dot gnu.org> ---
Author: tkoenig
Date: Sat Jun 24 07:07:56 2017
New Revision: 249620
URL: https://gcc.gnu.org/viewcvs?rev=249620&root=gcc&view=rev
Log:
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.
Added:
trunk/gcc/testsuite/gfortran.dg/cshift_2.f90
trunk/libgfortran/generated/cshift1_16_c10.c
trunk/libgfortran/generated/cshift1_16_c16.c
trunk/libgfortran/generated/cshift1_16_c4.c
trunk/libgfortran/generated/cshift1_16_c8.c
trunk/libgfortran/generated/cshift1_16_i1.c
trunk/libgfortran/generated/cshift1_16_i16.c
trunk/libgfortran/generated/cshift1_16_i2.c
trunk/libgfortran/generated/cshift1_16_i4.c
trunk/libgfortran/generated/cshift1_16_i8.c
trunk/libgfortran/generated/cshift1_16_r10.c
trunk/libgfortran/generated/cshift1_16_r16.c
trunk/libgfortran/generated/cshift1_16_r4.c
trunk/libgfortran/generated/cshift1_16_r8.c
trunk/libgfortran/generated/cshift1_4_c10.c
trunk/libgfortran/generated/cshift1_4_c16.c
trunk/libgfortran/generated/cshift1_4_c4.c
trunk/libgfortran/generated/cshift1_4_c8.c
trunk/libgfortran/generated/cshift1_4_i1.c
trunk/libgfortran/generated/cshift1_4_i16.c
trunk/libgfortran/generated/cshift1_4_i2.c
trunk/libgfortran/generated/cshift1_4_i4.c
trunk/libgfortran/generated/cshift1_4_i8.c
trunk/libgfortran/generated/cshift1_4_r10.c
trunk/libgfortran/generated/cshift1_4_r16.c
trunk/libgfortran/generated/cshift1_4_r4.c
trunk/libgfortran/generated/cshift1_4_r8.c
trunk/libgfortran/generated/cshift1_8_c10.c
trunk/libgfortran/generated/cshift1_8_c16.c
trunk/libgfortran/generated/cshift1_8_c4.c
trunk/libgfortran/generated/cshift1_8_c8.c
trunk/libgfortran/generated/cshift1_8_i1.c
trunk/libgfortran/generated/cshift1_8_i16.c
trunk/libgfortran/generated/cshift1_8_i2.c
trunk/libgfortran/generated/cshift1_8_i4.c
trunk/libgfortran/generated/cshift1_8_i8.c
trunk/libgfortran/generated/cshift1_8_r10.c
trunk/libgfortran/generated/cshift1_8_r16.c
trunk/libgfortran/generated/cshift1_8_r4.c
trunk/libgfortran/generated/cshift1_8_r8.c
trunk/libgfortran/m4/cshift1a.m4
Modified:
trunk/gcc/testsuite/ChangeLog
trunk/libgfortran/ChangeLog
trunk/libgfortran/Makefile.am
trunk/libgfortran/Makefile.in
trunk/libgfortran/generated/cshift1_16.c
trunk/libgfortran/generated/cshift1_4.c
trunk/libgfortran/generated/cshift1_8.c
trunk/libgfortran/libgfortran.h
trunk/libgfortran/m4/cshift1.m4