gcc/libgfortran/intrinsics
Thomas Koenig 28dc6b33c4 re PR libfortran/32972 (performance of pack/unpack)
2007-08-24  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/32972
	* iresolve.c:  Don't convert array masks.

2007-08-24  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/32972
	* libgfortran.h:  Remove GFOR_POINTER_L8_TO_L4 macro.
	Add GFOR_POINTER_TO_L1 macro.
	* m4/iforeach.m4(`m'name`'rtype_qual`_'atype_code):
	Change argument 'mask' to gfc_array_l1.  Adjust prototype.
	Change mask pointer to GFC_LOGICAL_1.  Multiply strides
	by kind of mask
	* m4/ifunction.m4:  Likewise.
	* intrinsics/pack_generic.c(pack_internal):  Likewise.
	* intrinsics/unpack_generic.c(unpack_internal):  Likewise.
	* m4/matmull.m4:  Switch to GFC_LOGICAL_1.  Multiply strides by
	kind of logical arguments a and b.
	* generated/matmul_l16.c: Regenerated.
	* generated/matmul_l4.c: Regenerated.
	* generated/matmul_l8.c: Regenerated.
	* generated/maxloc0_16_i1.c: Regenerated.
	* generated/maxloc0_16_i16.c: Regenerated.
	* generated/maxloc0_16_i2.c: Regenerated.
	* generated/maxloc0_16_i4.c: Regenerated.
	* generated/maxloc0_16_i8.c: Regenerated.
	* generated/maxloc0_16_r10.c: Regenerated.
	* generated/maxloc0_16_r16.c: Regenerated.
	* generated/maxloc0_16_r4.c: Regenerated.
	* generated/maxloc0_16_r8.c: Regenerated.
	* generated/maxloc0_4_i1.c: Regenerated.
	* generated/maxloc0_4_i16.c: Regenerated.
	* generated/maxloc0_4_i2.c: Regenerated.
	* generated/maxloc0_4_i4.c: Regenerated.
	* generated/maxloc0_4_i8.c: Regenerated.
	* generated/maxloc0_4_r10.c: Regenerated.
	* generated/maxloc0_4_r16.c: Regenerated.
	* generated/maxloc0_4_r4.c: Regenerated.
	* generated/maxloc0_4_r8.c: Regenerated.
	* generated/maxloc0_8_i1.c: Regenerated.
	* generated/maxloc0_8_i16.c: Regenerated.
	* generated/maxloc0_8_i2.c: Regenerated.
	* generated/maxloc0_8_i4.c: Regenerated.
	* generated/maxloc0_8_i8.c: Regenerated.
	* generated/maxloc0_8_r10.c: Regenerated.
	* generated/maxloc0_8_r16.c: Regenerated.
	* generated/maxloc0_8_r4.c: Regenerated.
	* generated/maxloc0_8_r8.c: Regenerated.
	* generated/maxloc1_16_i1.c: Regenerated.
	* generated/maxloc1_16_i16.c: Regenerated.
	* generated/maxloc1_16_i2.c: Regenerated.
	* generated/maxloc1_16_i4.c: Regenerated.
	* generated/maxloc1_16_i8.c: Regenerated.
	* generated/maxloc1_16_r10.c: Regenerated.
	* generated/maxloc1_16_r16.c: Regenerated.
	* generated/maxloc1_16_r4.c: Regenerated.
	* generated/maxloc1_16_r8.c: Regenerated.
	* generated/maxloc1_4_i1.c: Regenerated.
	* generated/maxloc1_4_i16.c: Regenerated.
	* generated/maxloc1_4_i2.c: Regenerated.
	* generated/maxloc1_4_i4.c: Regenerated.
	* generated/maxloc1_4_i8.c: Regenerated.
	* generated/maxloc1_4_r10.c: Regenerated.
	* generated/maxloc1_4_r16.c: Regenerated.
	* generated/maxloc1_4_r4.c: Regenerated.
	* generated/maxloc1_4_r8.c: Regenerated.
	* generated/maxloc1_8_i1.c: Regenerated.
	* generated/maxloc1_8_i16.c: Regenerated.
	* generated/maxloc1_8_i2.c: Regenerated.
	* generated/maxloc1_8_i4.c: Regenerated.
	* generated/maxloc1_8_i8.c: Regenerated.
	* generated/maxloc1_8_r10.c: Regenerated.
	* generated/maxloc1_8_r16.c: Regenerated.
	* generated/maxloc1_8_r4.c: Regenerated.
	* generated/maxloc1_8_r8.c: Regenerated.
	* generated/maxval_i1.c: Regenerated.
	* generated/maxval_i16.c: Regenerated.
	* generated/maxval_i2.c: Regenerated.
	* generated/maxval_i4.c: Regenerated.
	* generated/maxval_i8.c: Regenerated.
	* generated/maxval_r10.c: Regenerated.
	* generated/maxval_r16.c: Regenerated.
	* generated/maxval_r4.c: Regenerated.
	* generated/maxval_r8.c: Regenerated.
	* generated/minloc0_16_i1.c: Regenerated.
	* generated/minloc0_16_i16.c: Regenerated.
	* generated/minloc0_16_i2.c: Regenerated.
	* generated/minloc0_16_i4.c: Regenerated.
	* generated/minloc0_16_i8.c: Regenerated.
	* generated/minloc0_16_r10.c: Regenerated.
	* generated/minloc0_16_r16.c: Regenerated.
	* generated/minloc0_16_r4.c: Regenerated.
	* generated/minloc0_16_r8.c: Regenerated.
	* generated/minloc0_4_i1.c: Regenerated.
	* generated/minloc0_4_i16.c: Regenerated.
	* generated/minloc0_4_i2.c: Regenerated.
	* generated/minloc0_4_i4.c: Regenerated.
	* generated/minloc0_4_i8.c: Regenerated.
	* generated/minloc0_4_r10.c: Regenerated.
	* generated/minloc0_4_r16.c: Regenerated.
	* generated/minloc0_4_r4.c: Regenerated.
	* generated/minloc0_4_r8.c: Regenerated.
	* generated/minloc0_8_i1.c: Regenerated.
	* generated/minloc0_8_i16.c: Regenerated.
	* generated/minloc0_8_i2.c: Regenerated.
	* generated/minloc0_8_i4.c: Regenerated.
	* generated/minloc0_8_i8.c: Regenerated.
	* generated/minloc0_8_r10.c: Regenerated.
	* generated/minloc0_8_r16.c: Regenerated.
	* generated/minloc0_8_r4.c: Regenerated.
	* generated/minloc0_8_r8.c: Regenerated.
	* generated/minloc1_16_i1.c: Regenerated.
	* generated/minloc1_16_i16.c: Regenerated.
	* generated/minloc1_16_i2.c: Regenerated.
	* generated/minloc1_16_i4.c: Regenerated.
	* generated/minloc1_16_i8.c: Regenerated.
	* generated/minloc1_16_r10.c: Regenerated.
	* generated/minloc1_16_r16.c: Regenerated.
	* generated/minloc1_16_r4.c: Regenerated.
	* generated/minloc1_16_r8.c: Regenerated.
	* generated/minloc1_4_i1.c: Regenerated.
	* generated/minloc1_4_i16.c: Regenerated.
	* generated/minloc1_4_i2.c: Regenerated.
	* generated/minloc1_4_i4.c: Regenerated.
	* generated/minloc1_4_i8.c: Regenerated.
	* generated/minloc1_4_r10.c: Regenerated.
	* generated/minloc1_4_r16.c: Regenerated.
	* generated/minloc1_4_r4.c: Regenerated.
	* generated/minloc1_4_r8.c: Regenerated.
	* generated/minloc1_8_i1.c: Regenerated.
	* generated/minloc1_8_i16.c: Regenerated.
	* generated/minloc1_8_i2.c: Regenerated.
	* generated/minloc1_8_i4.c: Regenerated.
	* generated/minloc1_8_i8.c: Regenerated.
	* generated/minloc1_8_r10.c: Regenerated.
	* generated/minloc1_8_r16.c: Regenerated.
	* generated/minloc1_8_r4.c: Regenerated.
	* generated/minloc1_8_r8.c: Regenerated.
	* generated/minval_i1.c: Regenerated.
	* generated/minval_i16.c: Regenerated.
	* generated/minval_i2.c: Regenerated.
	* generated/minval_i4.c: Regenerated.
	* generated/minval_i8.c: Regenerated.
	* generated/minval_r10.c: Regenerated.
	* generated/minval_r16.c: Regenerated.
	* generated/minval_r4.c: Regenerated.
	* generated/minval_r8.c: Regenerated.
	* generated/product_c10.c: Regenerated.
	* generated/product_c16.c: Regenerated.
	* generated/product_c4.c: Regenerated.
	* generated/product_c8.c: Regenerated.
	* generated/product_i1.c: Regenerated.
	* generated/product_i16.c: Regenerated.
	* generated/product_i2.c: Regenerated.
	* generated/product_i4.c: Regenerated.
	* generated/product_i8.c: Regenerated.
	* generated/product_r10.c: Regenerated.
	* generated/product_r16.c: Regenerated.
	* generated/product_r4.c: Regenerated.
	* generated/product_r8.c: Regenerated.
	* generated/sum_c10.c: Regenerated.
	* generated/sum_c16.c: Regenerated.
	* generated/sum_c4.c: Regenerated.
	* generated/sum_c8.c: Regenerated.
	* generated/sum_i1.c: Regenerated.
	* generated/sum_i16.c: Regenerated.
	* generated/sum_i2.c: Regenerated.
	* generated/sum_i4.c: Regenerated.
	* generated/sum_i8.c: Regenerated.
	* generated/sum_r10.c: Regenerated.
	* generated/sum_r16.c: Regenerated.
	* generated/sum_r4.c: Regenerated.
	* generated/sum_r8.c: Regenerated.

From-SVN: r127774
2007-08-24 16:16:16 +00:00
..
abort.c libgfortran ChangeLog: 2006-05-27 10:11:29 +03:00
access.c * intrinsics/access.c (access_func): Remove export directive. 2006-08-05 13:37:52 +00:00
args.c cpu_time.c: Don't include headers already included by libgfortran.h. 2007-04-06 16:47:23 +00:00
associated.c re PR fortran/32933 (ICE in simplify_subreg with -fdefault-integer-8) 2007-08-10 13:20:46 +00:00
c99_functions.c re PR fortran/31202 (Incorrect rounding generated for NINT) 2007-08-05 22:14:34 +00:00
chdir.c ierrno.c: Don't include "io/io.h". 2006-06-24 12:34:51 +00:00
chmod.c cpu_time.c: Don't include headers already included by libgfortran.h. 2007-04-06 16:47:23 +00:00
clock.c intrinsic.c (add_functions): Add INT2, SHORT, INT8, LONG, LSTAT, MCLOCK and MCLOCK8 intrinsic functions. 2006-07-26 11:58:48 +00:00
cpu_time.c cpu_time.c: Don't include headers already included by libgfortran.h. 2007-04-06 16:47:23 +00:00
cshift0.c re PR libfortran/31286 (cshift uses uninitialized variables) 2007-04-18 08:47:28 +00:00
ctime.c intrinsic.c (add_functions): Add ctime and fdate intrinsics. 2005-11-06 10:17:04 +00:00
date_and_time.c cpu_time.c: Don't include headers already included by libgfortran.h. 2007-04-06 16:47:23 +00:00
dprod_r8.f90 gfortran.h (gfc_options_t): Add flag_allow_leading_underscore. 2007-01-20 18:33:20 +00:00
env.c cpu_time.c: Don't include headers already included by libgfortran.h. 2007-04-06 16:47:23 +00:00
eoshift0.c re PR libfortran/31295 (Uninitialized variable in libgfortran's _gfortran_eoshift0_4) 2007-05-22 18:19:09 +02:00
eoshift2.c re PR libfortran/31295 (Uninitialized variable in libgfortran's _gfortran_eoshift0_4) 2007-05-22 18:19:09 +02:00
etime.c cpu_time.c: Don't include headers already included by libgfortran.h. 2007-04-06 16:47:23 +00:00
exit.c All files: Update FSF address. 2005-08-17 02:49:08 +00:00
f2c_specifics.F90 gfortran.h (gfc_options_t): Add flag_allow_leading_underscore. 2007-01-20 18:33:20 +00:00
fnum.c ierrno.c: Don't include "io/io.h". 2006-06-24 12:34:51 +00:00
gerror.c All files: Update FSF address. 2005-08-17 02:49:08 +00:00
getXid.c cpu_time.c: Don't include headers already included by libgfortran.h. 2007-04-06 16:47:23 +00:00
getcwd.c All files: Update FSF address. 2005-08-17 02:49:08 +00:00
getlog.c re PR libfortran/31299 (Use getpwuid(geteuid()) instead of getlogin() for GETLOG()) 2007-04-25 07:36:20 +00:00
hostnm.c re PR libfortran/23803 ([mingw32] getlog malfunction) 2005-09-25 21:02:17 +00:00
ierrno.c ierrno.c: Don't include "io/io.h". 2006-06-24 12:34:51 +00:00
ishftc.c re PR fortran/31964 ([4.2, 4.1 only]ishftc fails with certain thrid argument) 2007-05-19 01:04:03 +00:00
iso_c_binding.c re PR fortran/32600 ([ISO Bind C] C_F_POINTER w/o SHAPE should not be a library function) 2007-07-23 08:03:33 +02:00
iso_c_binding.h re PR fortran/32600 ([ISO Bind C] C_F_POINTER w/o SHAPE should not be a library function) 2007-07-23 08:03:33 +02:00
iso_c_generated_procs.c re PR fortran/32627 ([ISO Bind C] Accept c_f_pointer for TYPE) 2007-07-21 23:45:44 +00:00
kill.c cpu_time.c: Don't include headers already included by libgfortran.h. 2007-04-06 16:47:23 +00:00
link.c ierrno.c: Don't include "io/io.h". 2006-06-24 12:34:51 +00:00
malloc.c check.c (gfc_check_malloc, [...]): New functions. 2005-10-30 12:17:48 +00:00
move_alloc.c re PR fortran/30723 (Freeing memory doesn't need to call a library function) 2007-05-14 19:33:57 +00:00
mvbits.c re PR fortran/32357 (MVBITS gives wrong-code on big-endian with -fdefault-integer-8) 2007-07-14 23:11:04 +00:00
pack_generic.c re PR libfortran/32972 (performance of pack/unpack) 2007-08-24 16:16:16 +00:00
perror.c ierrno.c: Don't include "io/io.h". 2006-06-24 12:34:51 +00:00
rand.c re PR libfortran/28452 (__gfortran_random_r10 not found) 2006-08-01 17:15:04 +00:00
random.c re PR fortran/33077 (RANDOM_SEED failure for integer(kind=8)) 2007-08-15 12:35:57 +00:00
rename.c ierrno.c: Don't include "io/io.h". 2006-06-24 12:34:51 +00:00
reshape_generic.c re PR fortran/31196 ([4.1 only] wrong code generated with RESHAPE/TRANSPOSE) 2007-03-25 08:29:10 +00:00
reshape_packed.c All files: Update FSF address. 2005-08-17 02:49:08 +00:00
selected_int_kind.f90 gfortran.h (gfc_options_t): Add flag_allow_leading_underscore. 2007-01-20 18:33:20 +00:00
selected_real_kind.f90 gfortran.h (gfc_options_t): Add flag_allow_leading_underscore. 2007-01-20 18:33:20 +00:00
signal.c re PR fortran/30947 (intrinsic: ALARM) 2007-08-06 23:02:38 +00:00
size.c All files: Update FSF address. 2005-08-17 02:49:08 +00:00
sleep.c ierrno.c: Don't include "io/io.h". 2006-06-24 12:34:51 +00:00
spread_generic.c re PR libfortran/27895 (problem with RESHAPE and zero-sized arrays) 2006-10-19 21:48:50 +00:00
stat.c cpu_time.c: Don't include headers already included by libgfortran.h. 2007-04-06 16:47:23 +00:00
string_intrinsics.c re PR libfortran/33079 (Optional empty strings do not appear to be 'PRESENT') 2007-08-17 13:09:23 +00:00
symlnk.c ierrno.c: Don't include "io/io.h". 2006-06-24 12:34:51 +00:00
system.c re PR libfortran/31607 (CALL SYSTEM produces garbled output when writing to a buffered file) 2007-05-07 19:48:40 +00:00
system_clock.c cpu_time.c: Don't include headers already included by libgfortran.h. 2007-04-06 16:47:23 +00:00
time.c ierrno.c: Don't include "io/io.h". 2006-06-24 12:34:51 +00:00
transpose_generic.c in_pack.m4: Add TODO comment about detecting temporaries... 2006-06-06 11:10:09 +03:00
umask.c All files: Update FSF address. 2005-08-17 02:49:08 +00:00
unlink.c All files: Update FSF address. 2005-08-17 02:49:08 +00:00
unpack_generic.c re PR libfortran/32972 (performance of pack/unpack) 2007-08-24 16:16:16 +00:00