Tobias Burnus
9731c4a348
libgfortran.h (likely,unlikely): New makros.
...
2008-09-06 Tobias Burnus <burnus@net-b.de>
* libgfortran.h (likely,unlikely): New makros.
(runtime_warning_at,__mingw_snprintf): Add __attribute__(format()).
* m4/spread.m4 (spread_'rtype_code`): Use unlikely for bounds_check.
* m4/iforeach.m4 (name`'rtype_qual`_'atype_code): Ditto.
* m4/matmull.m4 (matmul_'rtype_code`): Ditto.
* m4/ifunction_logical.m4 (name`'rtype_qual`_'atype_code): Ditto.
* m4/ifunction.m4 (name`'rtype_qual`_'atype_code): Ditto.
* m4/matmul.m4 (matmul_'rtype_code`): Ditto.
* generated/minval_r8.c: Regenerated.
* generated/spread_r10.c: Regenerated.
* generated/minloc1_16_r16.c: Regenerated.
* generated/maxloc1_4_r8.c: Regenerated.
* generated/sum_i8.c: Regenerated.
* generated/any_l16.c: Regenerated.
* generated/spread_i8.c: Regenerated.
* generated/maxval_i2.c: Regenerated.
* generated/any_l2.c: Regenerated.
* generated/product_r4.c: Regenerated.
* generated/maxloc1_8_i4.c: Regenerated.
* generated/maxloc0_4_r4.c: Regenerated.
* generated/all_l1.c: Regenerated.
* generated/matmul_r8.c: Regenerated.
* generated/product_i2.c: Regenerated.
* generated/minloc0_4_r16.c: Regenerated.
* generated/minloc0_4_i1.c: Regenerated.
* generated/maxloc0_4_r16.c: Regenerated.
* generated/maxloc0_4_i2.c: Regenerated.
* generated/minloc1_8_r16.c: Regenerated.
* generated/maxloc1_8_r16.c: Regenerated.
* generated/maxloc0_8_i8.c: Regenerated.
* generated/sum_r16.c: Regenerated.
* generated/sum_i1.c: Regenerated.
* generated/minloc1_4_r8.c: Regenerated.
* generated/maxloc1_16_r16.c: Regenerated.
* generated/minloc1_16_i4.c: Regenerated.
* generated/maxloc1_16_i4.c: Regenerated.
* generated/minloc0_16_i8.c: Regenerated.
* generated/spread_i1.c: Regenerated.
* generated/maxloc0_16_i8.c: Regenerated.
* generated/maxval_r16.c: Regenerated.
* generated/product_c10.c: Regenerated.
* generated/minloc1_8_i4.c: Regenerated.
* generated/minloc0_16_i16.c: Regenerated.
* generated/matmul_r16.c: Regenerated.
* generated/minloc0_4_r4.c: Regenerated.
* generated/all_l2.c: Regenerated.
* generated/product_c4.c: Regenerated.
* generated/sum_r4.c: Regenerated.
* generated/minloc0_4_i2.c: Regenerated.
* generated/spread_c10.c: Regenerated.
* generated/maxloc0_8_i1.c: Regenerated.
* generated/spread_r4.c: Regenerated.
* generated/minloc0_8_i8.c: Regenerated.
* generated/matmul_c8.c: Regenerated.
* generated/all_l16.c: Regenerated.
* generated/minloc1_16_r10.c: Regenerated.
* generated/sum_i2.c: Regenerated.
* generated/minloc0_16_i1.c: Regenerated.
* generated/maxloc0_16_i1.c: Regenerated.
* generated/maxloc1_8_r8.c: Regenerated.
* generated/minval_i16.c: Regenerated.
* generated/spread_i2.c: Regenerated.
* generated/maxval_i4.c: Regenerated.
* generated/minval_i8.c: Regenerated.
* generated/any_l4.c: Regenerated.
* generated/maxloc1_4_i8.c: Regenerated.
* generated/maxloc0_16_i16.c: Regenerated.
* generated/maxloc0_8_r4.c: Regenerated.
* generated/minloc1_4_i16.c: Regenerated.
* generated/maxloc1_4_i16.c: Regenerated.
* generated/minloc0_4_r10.c: Regenerated.
* generated/minloc0_8_i16.c: Regenerated.
* generated/maxloc0_4_r10.c: Regenerated.
* generated/maxloc0_8_i16.c: Regenerated.
* generated/minloc1_8_r10.c: Regenerated.
* generated/product_i4.c: Regenerated.
* generated/minloc0_16_r4.c: Regenerated.
* generated/sum_c16.c: Regenerated.
* generated/maxloc1_8_r10.c: Regenerated.
* generated/maxloc0_16_r4.c: Regenerated.
* generated/minloc1_16_r8.c: Regenerated.
* generated/minloc0_8_i1.c: Regenerated.
* generated/maxloc0_4_i4.c: Regenerated.
* generated/maxloc1_16_r8.c: Regenerated.
* generated/maxloc0_8_i2.c: Regenerated.
* generated/sum_r10.c: Regenerated.
* generated/count_4_l.c: Regenerated.
* generated/sum_c4.c: Regenerated.
* generated/count_8_l.c: Regenerated.
* generated/maxloc1_16_r10.c: Regenerated.
* generated/matmul_i8.c: Regenerated.
* generated/minloc0_16_i2.c: Regenerated.
* generated/minloc1_8_r8.c: Regenerated.
* generated/maxloc0_16_i2.c: Regenerated.
* generated/spread_c4.c: Regenerated.
* generated/matmul_c16.c: Regenerated.
* generated/maxval_r10.c: Regenerated.
* generated/minval_i1.c: Regenerated.
* generated/maxloc1_4_i1.c: Regenerated.
* generated/matmul_r10.c: Regenerated.
* generated/minloc1_4_i8.c: Regenerated.
* generated/minloc0_8_r4.c: Regenerated.
* generated/matmul_l4.c: Regenerated.
* generated/product_i16.c: Regenerated.
* generated/minloc0_16_r16.c: Regenerated.
* generated/all_l4.c: Regenerated.
* generated/minloc0_4_i4.c: Regenerated.
* generated/minloc0_8_i2.c: Regenerated.
* generated/matmul_i1.c: Regenerated.
* generated/minval_r4.c: Regenerated.
* generated/maxloc1_4_r4.c: Regenerated.
* generated/spread_i16.c: Regenerated.
* generated/sum_i4.c: Regenerated.
* generated/maxval_r8.c: Regenerated.
* generated/spread_i4.c: Regenerated.
* generated/minloc1_4_i1.c: Regenerated.
* generated/minval_r16.c: Regenerated.
* generated/minval_i2.c: Regenerated.
* generated/maxloc1_4_i2.c: Regenerated.
* generated/product_r8.c: Regenerated.
* generated/maxloc1_8_i8.c: Regenerated.
* generated/maxloc0_4_r8.c: Regenerated.
* generated/maxloc0_16_r16.c: Regenerated.
* generated/matmul_r4.c: Regenerated.
* generated/sum_c10.c: Regenerated.
* generated/minloc1_4_r16.c: Regenerated.
* generated/maxloc1_4_r16.c: Regenerated.
* generated/minloc0_8_r16.c: Regenerated.
* generated/maxloc0_8_r16.c: Regenerated.
* generated/count_1_l.c: Regenerated.
* generated/maxloc0_8_i4.c: Regenerated.
* generated/matmul_i2.c: Regenerated.
* generated/minloc1_4_r4.c: Regenerated.
* generated/matmul_c10.c: Regenerated.
* generated/minloc0_16_i4.c: Regenerated.
* generated/maxloc0_16_i4.c: Regenerated.
* generated/minloc1_16_i8.c: Regenerated.
* generated/maxloc1_16_i8.c: Regenerated.
* generated/minloc1_4_i2.c: Regenerated.
* generated/matmul_l16.c: Regenerated.
* generated/maxloc1_8_i1.c: Regenerated.
* generated/minloc0_16_r10.c: Regenerated.
* generated/minloc1_8_i8.c: Regenerated.
* generated/minloc0_4_r8.c: Regenerated.
* generated/product_r16.c: Regenerated.
* generated/product_c8.c: Regenerated.
* generated/sum_r8.c: Regenerated.
* generated/minloc0_8_i4.c: Regenerated.
* generated/matmul_c4.c: Regenerated.
* generated/minloc1_16_i16.c: Regenerated.
* generated/spread_r8.c: Regenerated.
* generated/maxloc1_8_r4.c: Regenerated.
* generated/minloc1_16_i1.c: Regenerated.
* generated/maxloc1_16_i1.c: Regenerated.
* generated/spread_r16.c: Regenerated.
* generated/minval_r10.c: Regenerated.
* generated/count_16_l.c: Regenerated.
* generated/minval_i4.c: Regenerated.
* generated/minloc1_8_i1.c: Regenerated.
* generated/maxloc1_4_i4.c: Regenerated.
* generated/maxloc1_8_i2.c: Regenerated.
* generated/maxval_i8.c: Regenerated.
* generated/any_l8.c: Regenerated.
* generated/maxloc0_16_r10.c: Regenerated.
* generated/minloc0_4_i16.c: Regenerated.
* generated/maxloc0_8_r8.c: Regenerated.
* generated/maxloc0_4_i16.c: Regenerated.
* generated/minloc1_4_r10.c: Regenerated.
* generated/minloc1_8_i16.c: Regenerated.
* generated/maxloc1_4_r10.c: Regenerated.
* generated/maxloc1_8_i16.c: Regenerated.
* generated/minloc0_8_r10.c: Regenerated.
* generated/maxloc0_8_r10.c: Regenerated.
* generated/minloc1_16_r4.c: Regenerated.
* generated/maxloc1_16_r4.c: Regenerated.
* generated/minloc0_16_r8.c: Regenerated.
* generated/product_i8.c: Regenerated.
* generated/maxloc0_16_r8.c: Regenerated.
* generated/sum_i16.c: Regenerated.
* generated/count_2_l.c: Regenerated.
* generated/maxloc0_4_i8.c: Regenerated.
* generated/maxloc1_16_i16.c: Regenerated.
* generated/matmul_i4.c: Regenerated.
* generated/minloc1_8_r4.c: Regenerated.
* generated/sum_c8.c: Regenerated.
* generated/minloc1_16_i2.c: Regenerated.
* generated/maxloc1_16_i2.c: Regenerated.
* generated/maxval_i16.c: Regenerated.
* generated/spread_c8.c: Regenerated.
* generated/matmul_i16.c: Regenerated.
* generated/minloc1_4_i4.c: Regenerated.
* generated/maxval_i1.c: Regenerated.
* generated/minloc1_8_i2.c: Regenerated.
* generated/any_l1.c: Regenerated.
* generated/product_c16.c: Regenerated.
* generated/minloc0_8_r8.c: Regenerated.
* generated/matmul_l8.c: Regenerated.
* generated/product_r10.c: Regenerated.
* generated/product_i1.c: Regenerated.
* generated/all_l8.c: Regenerated.
* generated/maxloc0_4_i1.c: Regenerated.
* generated/minloc0_4_i8.c: Regenerated.
* generated/spread_c16.c: Regenerated.
* generated/maxval_r4.c: Regenerated.
From-SVN: r140060
2008-09-06 16:53:26 +02:00
Thomas Koenig
75f2543f2e
re PR libfortran/32972 (performance of pack/unpack)
...
2008-03-28 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/32972
PR libfortran/32512
* Makefile.am: Add new variable, i_spread_c, containing
pack_i1.c, pack_i2.c, pack_i4.c, pack_i8.c, spread_i16.c,
spread_r4.c, spread_r8.c, spread_r10.c, spread_r16.c,
spread_c4.c, spread_c8.c, spread_c10.c, spread_c16.c.
* Makefile.in: Regenerated.
* libgfortran.h: Add prototypes for spread_i1, spread_i2,
spread_i4, spread_i8, spread_i16, spread_r4, spread_r8,
spread_c4, spread_c8, spread_c10, spread_c16,
spread_scalar_i1, spread_scalar_i2, spread_scalar_i4,
spread_scalar_i8, spread_scalar_i16, spread_scalar_r4
spread_scalar_r8, spread_scalar_c4, spread_scalar_c8,
spread_scalar_c10 and spread_scalar_c16.
Add macros to isolate both type and size information
from array descriptors with a single mask operation.
* intrinsics/spread_generic.c: Add calls to specific
spread functions.
* m4/spread.m4: New file.
* generated/spread_i1.c: New file.
* generated/spread_i2.c: New file.
* generated/spread_i4.c: New file.
* generated/spread_i8.c: New file.
* generated/spread_i16.c: New file.
* generated/spread_r4.c: New file.
* generated/spread_r8.c: New file.
* generated/spread_r10.c: New file.
* generated/spread_r16.c: New file.
* generated/spread_c4.c: New file.
* generated/spread_c8.c: New file.
* generated/spread_c10.c: New file.
* generated/spread_c16.c: New file.
2008-03-28 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/32972
PR libfortran/32512
* intrinsic_spread_1.f90: New file.
* intrinsic_spread_2.f90: New file.
* intrinsic_spread_3.f90: New file.
From-SVN: r133702
2008-03-28 23:22:49 +00:00