1 2022-01-25 Francois-Xavier Coudert <fxcoudert@gmail.com>
3 * ieee/issignaling_fallback.h: Fix GCC-specific preprocessor
6 2022-01-25 Jakub Jelinek <jakub@redhat.com>
8 * ieee/issignaling_fallback.h (__issignalingl): Define for
9 IBM extended long double are returning __issignaling on the
12 2022-01-25 Francois-Xavier Coudert <fxcoudert@gmail.com>
14 * ieee/issignaling_fallback.h: fix preprocessor condition.
16 2022-01-24 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
18 * ieee/issignaling_fallback.h: New file.
19 * ieee/ieee_helper.c: Include issignaling_fallback.h when target
20 does not define issignaling macro.
22 2022-01-17 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
24 * ieee/issignaling_fallback.h: Remove file.
26 2022-01-17 Thomas Koenig <tkoenig@gcc.gnu.org>
28 * runtime/environ.c: Allow for multiple default values so that
29 separate default specifications for IBM long double format and
30 endianness are possible.
32 2022-01-16 Francois-Xavier Coudert <fxcoudert@gmail.com>
34 * ieee/issignaling_fallback.h: New file.
36 2022-01-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
39 * mk-kinds-h.sh: Add values for TINY.
40 * ieee/ieee_arithmetic.F90: Call C helper functions for
42 * ieee/ieee_helper.c: New functions ieee_value_helper_N for each
45 2022-01-14 Jakub Jelinek <jakub@redhat.com>
48 * Makefile.am (BUILT_SOURCES): Don't include $(version_dep).
49 (clean-local): Remove $(version_dep).
50 * Makefile.in: Regenerated.
52 2022-01-13 Jakub Jelinek <jakub@redhat.com>
55 * Makefile.am (gfortran.map-sun): Rename target to ...
56 (gfortran.ver-sun): ... this.
57 * Makefile.in: Regenerated.
59 2022-01-12 Jakub Jelinek <jakub@redhat.com>
61 * libgfortran.h (POWER_IEEE128): Use __GLIBC_PREREQ in a separate
62 #if directive inside of #if ... && defined __GLIBC_PREREQ.
64 2022-01-11 Jakub Jelinek <jakub@redhat.com>
66 * io/transfer.c (unformatted_read, unformatted_write): When
67 byteswapping IBM extended real(kind=16), handle it as byteswapping
68 two real(kind=8) values.
70 2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org>
72 * runtime/environ.c (R16_IEEE): New macro.
74 (next_token): Handle IBM R16 conversion cases.
75 (push_token): Likewise.
76 (mark_single): Likewise.
77 (do_parse): Likewise, initialize endian.
79 2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org>
81 * Makefile.in: Regenerate.
82 * io/file_pos.c (unformatted_backspace): Mask off
83 R16 parts for convert.
84 * io/inquire.c (inquire_via_unit): Add cases for
86 * io/open.c (st_open): Add cases for R16 conversion.
87 * io/transfer.c (unformatted_read): Adjust for R16 conversions.
88 (unformatted_write): Likewise.
89 (us_read): Mask of R16 bits.
90 (data_transfer_init): Likewiese.
91 (write_us_marker): Likewise.
93 2022-01-11 Jakub Jelinek <jakub@redhat.com>
95 * Makefile.am (AM_FCFLAGS): Add -fbuilding-libgfortran after
96 -fallow-leading-underscore.
97 * Makefile.in: Regenerated.
99 2022-01-11 Jakub Jelinek <jakub@redhat.com>
101 * libgfortran.h (__copysignieee128, __fmaieee128, __fmodieee128):
103 * intrinsics/trigd.c (COPYSIGN, FMOD, FABS, FMA, SIN, COS, TAN): If
104 POWER_IEEE128 is defined, define these for kind 17 include.
105 * intrinsics/trigd_lib.inc (COPYSIGN, FMOD, FABS, FMA, SIN, COS, TAN):
106 Don't define if COPYSIGN is already defined.
108 2022-01-11 Jakub Jelinek <jakub@redhat.com>
110 * libgfortran.h (GFC_REAL_17_INFINITY, GFC_REAL_17_QUIET_NAN): Define.
111 (__erfcieee128): Declare.
112 * intrinsics/trigd.c (_gfortran_sind_r17, _gfortran_cosd_r17,
113 _gfortran_tand_r17): Define for HAVE_GFC_REAL_17.
114 * intrinsics/random.c (random_r17, arandom_r17, rnumber_17): Define.
115 * intrinsics/erfc_scaled.c (ERFC_SCALED): Define.
116 (erfc_scaled_r16): Use ERFC_SCALED macro.
117 (erfc_scaled_r17): Define.
119 2022-01-11 Jakub Jelinek <jakub@redhat.com>
121 * io/read.c (convert_real): Add missing break; for the
122 HAVE_GFC_REAL_17 case.
124 2022-01-11 Jakub Jelinek <jakub@redhat.com>
126 * io/write_float.def (CALCULATE_EXP): If HAVE_GFC_REAL_17, also use
128 (determine_en_precision): Use 17 instead of 16 as first EN_PREC
129 argument for kind 17.
130 (get_float_string): Use 17 instead of 16 as first FORMAT_FLOAT
131 argument for kind 17.
133 2022-01-11 Jakub Jelinek <jakub@redhat.com>
135 * libgfortran.h (__acoshieee128, __acosieee128, __asinhieee128,
136 __asinieee128, __atan2ieee128, __atanhieee128, __atanieee128,
137 __coshieee128, __cosieee128, __erfieee128, __expieee128,
138 __fabsieee128, __jnieee128, __log10ieee128, __logieee128,
139 __powieee128, __sinhieee128, __sinieee128, __sqrtieee128,
140 __tanhieee128, __tanieee128, __ynieee128): Formatting fixes.
141 (__strtoieee128, __snprintfieee128): Declare.
142 * io/io.h (default_width_for_float, default_precision_for_float):
144 * io/size_from_kind.c (size_from_real_kind, size_from_complex_kind):
146 * io/read.c (set_integer, si_max, convert_real, convert_infnan,
148 * io/write.c (extract_uint, size_from_kind, set_fnode_default):
150 * io/write_float.def (DTOA2Q, FDTOA2Q): Define for HAVE_GFC_REAL_17.
151 (determine_en_precision, get_float_string): Handle kind == 17.
152 * io/transfer128.c: Use also for HAVE_GFC_REAL_17, but don't drag in
153 libquadmath if POWER_IEEE128.
154 * Makefile.am (comma, PREPROCESS): New variables.
155 (gfortran.ver): New goal.
156 (version_arg, version_dep): Use gfortran.ver instead of
157 $(srcdir)/gfortran.map.
158 (gfortran.map-sun): Depend on and use gfortran.ver instead of
159 $(srcdir)/gfortran.map.
160 (BUILT_SOURCES): Add $(version_dep).
161 * Makefile.in: Regenerated.
162 * gfortran.map (GFORTRAN_8): Don't export
163 _gfortran_transfer_complex128, _gfortran_transfer_complex128_write,
164 _gfortran_transfer_real128 and _gfortran_transfer_real128_write if
165 HAVE_GFC_REAL_17 is defined.
166 (GFORTRAN_12): Export those here instead.
168 2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org>
170 * Makefile.am: Correct files for compilation flags. Add
171 -D__powerpc64__ for Fortran sources. Get kinds.inc from
172 grep of kinds.h and kinds-override.h.
173 * Makefile.in: Regenerate.
174 * config.h.in: Regenerate.
175 * configure: Regenerate.
176 * configure.ac: Add -mno-gnu-attribute to compile flags.
177 * generated/_abs_c17.F90: Regenerate.
178 * generated/_abs_r17.F90: Regenerate.
179 * generated/_acos_r17.F90: Regenerate.
180 * generated/_acosh_r17.F90: Regenerate.
181 * generated/_aimag_c17.F90: Regenerate.
182 * generated/_aint_r17.F90: Regenerate.
183 * generated/_anint_r17.F90: Regenerate.
184 * generated/_asin_r17.F90: Regenerate.
185 * generated/_asinh_r17.F90: Regenerate.
186 * generated/_atan2_r17.F90: Regenerate.
187 * generated/_atan_r17.F90: Regenerate.
188 * generated/_atanh_r17.F90: Regenerate.
189 * generated/_conjg_c17.F90: Regenerate.
190 * generated/_cos_c17.F90: Regenerate.
191 * generated/_cos_r17.F90: Regenerate.
192 * generated/_cosh_r17.F90: Regenerate.
193 * generated/_dim_r17.F90: Regenerate.
194 * generated/_exp_c17.F90: Regenerate.
195 * generated/_exp_r17.F90: Regenerate.
196 * generated/_log10_r17.F90: Regenerate.
197 * generated/_log_c17.F90: Regenerate.
198 * generated/_log_r17.F90: Regenerate.
199 * generated/_mod_r17.F90: Regenerate.
200 * generated/_sign_r17.F90: Regenerate.
201 * generated/_sin_c17.F90: Regenerate.
202 * generated/_sin_r17.F90: Regenerate.
203 * generated/_sinh_r17.F90: Regenerate.
204 * generated/_sqrt_c17.F90: Regenerate.
205 * generated/_sqrt_r17.F90: Regenerate.
206 * generated/_tan_r17.F90: Regenerate.
207 * generated/_tanh_r17.F90: Regenerate.
208 * kinds-override.h: Adjust to trunk.
209 Change condition to single line so it can be grepped.
210 * m4/specific.m4: Make sure that real=kind16 is used
211 for _r17.F90 and _c17.F90 files.
212 * m4/specific2.m4: Likewise.
214 2022-01-11 Jakub Jelinek <jakub@redhat.com>
216 * libgfortran.h (internal_pack_r17, internal_pack_c17,
217 internal_unpack_r17, internal_unpack_c17, pack_r17, pack_c17,
218 unpack0_r17, unpack0_c17, unpack1_r17, unpack1_c17, spread_r17,
219 spread_c17, spread_scalar_r17, spread_scalar_c17, cshift0_r17,
220 cshift0_c17, cshift1_4_r17, cshift1_8_r17, cshift1_16_r17,
221 cshift1_4_c17, cshift1_8_c17, cshift1_16_c17): Declare.
222 * gfortran.map (GFORTRAN_12): Export *_r17 and *_c17.
224 2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org>
226 * acinclude.m4 (LIBGFOR_CHECK_MATH_IEEE128): New macro.
227 * configure.ac: Use it.
228 * config.h.in: Regenerate.
229 * configure: Regenerate.
231 2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org>
233 * Makefile.am: Fix pattern substitution for _r17 and _c17.
234 * Makefile.in: Regenerate.
236 2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org>
238 * Makefile.am: Add _r17 and _c17 files. Build them
239 with -mabi=ieeelongdouble on POWER.
240 * Makefile.in: Regenerate.
241 * configure: Regenerate.
242 * configure.ac: New flag HAVE_REAL_17.
243 * kinds-override.h: (HAVE_GFC_REAL_17): New macro.
244 (HAVE_GFC_COMPLEX_17): New macro.
245 (GFC_REAL_17_HUGE): New macro.
246 (GFC_REAL_17_LITERAL_SUFFIX): New macro.
247 (GFC_REAL_17_LITERAL): New macro.
248 (GFC_REAL_17_DIGITS): New macro.
249 (GFC_REAL_17_RADIX): New macro.
250 * libgfortran.h (POWER_IEEE128): New macro.
251 (gfc_array_r17): Typedef.
252 (GFC_DTYPE_REAL_17): New macro.
253 (GFC_DTYPE_COMPLEX_17): New macro.
254 (__acoshieee128): Prototype.
255 (__acosieee128): Prototype.
256 (__asinhieee128): Prototype.
257 (__asinieee128): Prototype.
258 (__atan2ieee128): Prototype.
259 (__atanhieee128): Prototype.
260 (__atanieee128): Prototype.
261 (__coshieee128): Prototype.
262 (__cosieee128): Prototype.
263 (__erfieee128): Prototype.
264 (__expieee128): Prototype.
265 (__fabsieee128): Prototype.
266 (__jnieee128): Prototype.
267 (__log10ieee128): Prototype.
268 (__logieee128): Prototype.
269 (__powieee128): Prototype.
270 (__sinhieee128): Prototype.
271 (__sinieee128): Prototype.
272 (__sqrtieee128): Prototype.
273 (__tanhieee128): Prototype.
274 (__tanieee128): Prototype.
275 (__ynieee128): Prototype.
276 * m4/mtype.m4: Make a bit more readable. Add KIND=17.
277 * generated/_abs_c17.F90: New file.
278 * generated/_abs_r17.F90: New file.
279 * generated/_acos_r17.F90: New file.
280 * generated/_acosh_r17.F90: New file.
281 * generated/_aimag_c17.F90: New file.
282 * generated/_aint_r17.F90: New file.
283 * generated/_anint_r17.F90: New file.
284 * generated/_asin_r17.F90: New file.
285 * generated/_asinh_r17.F90: New file.
286 * generated/_atan2_r17.F90: New file.
287 * generated/_atan_r17.F90: New file.
288 * generated/_atanh_r17.F90: New file.
289 * generated/_conjg_c17.F90: New file.
290 * generated/_cos_c17.F90: New file.
291 * generated/_cos_r17.F90: New file.
292 * generated/_cosh_r17.F90: New file.
293 * generated/_dim_r17.F90: New file.
294 * generated/_exp_c17.F90: New file.
295 * generated/_exp_r17.F90: New file.
296 * generated/_log10_r17.F90: New file.
297 * generated/_log_c17.F90: New file.
298 * generated/_log_r17.F90: New file.
299 * generated/_mod_r17.F90: New file.
300 * generated/_sign_r17.F90: New file.
301 * generated/_sin_c17.F90: New file.
302 * generated/_sin_r17.F90: New file.
303 * generated/_sinh_r17.F90: New file.
304 * generated/_sqrt_c17.F90: New file.
305 * generated/_sqrt_r17.F90: New file.
306 * generated/_tan_r17.F90: New file.
307 * generated/_tanh_r17.F90: New file.
308 * generated/bessel_r17.c: New file.
309 * generated/cshift0_c17.c: New file.
310 * generated/cshift0_r17.c: New file.
311 * generated/cshift1_16_c17.c: New file.
312 * generated/cshift1_16_r17.c: New file.
313 * generated/cshift1_4_c17.c: New file.
314 * generated/cshift1_4_r17.c: New file.
315 * generated/cshift1_8_c17.c: New file.
316 * generated/cshift1_8_r17.c: New file.
317 * generated/findloc0_c17.c: New file.
318 * generated/findloc0_r17.c: New file.
319 * generated/findloc1_c17.c: New file.
320 * generated/findloc1_r17.c: New file.
321 * generated/in_pack_c17.c: New file.
322 * generated/in_pack_r17.c: New file.
323 * generated/in_unpack_c17.c: New file.
324 * generated/in_unpack_r17.c: New file.
325 * generated/matmul_c17.c: New file.
326 * generated/matmul_r17.c: New file.
327 * generated/matmulavx128_c17.c: New file.
328 * generated/matmulavx128_r17.c: New file.
329 * generated/maxloc0_16_r17.c: New file.
330 * generated/maxloc0_4_r17.c: New file.
331 * generated/maxloc0_8_r17.c: New file.
332 * generated/maxloc1_16_r17.c: New file.
333 * generated/maxloc1_4_r17.c: New file.
334 * generated/maxloc1_8_r17.c: New file.
335 * generated/maxval_r17.c: New file.
336 * generated/minloc0_16_r17.c: New file.
337 * generated/minloc0_4_r17.c: New file.
338 * generated/minloc0_8_r17.c: New file.
339 * generated/minloc1_16_r17.c: New file.
340 * generated/minloc1_4_r17.c: New file.
341 * generated/minloc1_8_r17.c: New file.
342 * generated/minval_r17.c: New file.
343 * generated/norm2_r17.c: New file.
344 * generated/pack_c17.c: New file.
345 * generated/pack_r17.c: New file.
346 * generated/pow_c17_i16.c: New file.
347 * generated/pow_c17_i4.c: New file.
348 * generated/pow_c17_i8.c: New file.
349 * generated/pow_r17_i16.c: New file.
350 * generated/pow_r17_i4.c: New file.
351 * generated/pow_r17_i8.c: New file.
352 * generated/product_c17.c: New file.
353 * generated/product_r17.c: New file.
354 * generated/reshape_c17.c: New file.
355 * generated/reshape_r17.c: New file.
356 * generated/spread_c17.c: New file.
357 * generated/spread_r17.c: New file.
358 * generated/sum_c17.c: New file.
359 * generated/sum_r17.c: New file.
360 * generated/unpack_c17.c: New file.
361 * generated/unpack_r17.c: New file.
362 * m4/ifunc.m4: New file.
364 2022-01-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
367 * Makefile.am: Pass -fsignaling-nans for IEEE files.
368 * Makefile.in: Regenerate.
369 * ieee/ieee_helper.c: Use issignaling macro to recognized
373 Copyright (C) 2022 Free Software Foundation, Inc.
375 Copying and distribution of this file, with or without modification,
376 are permitted in any medium without royalty provided the copyright
377 notice and this notice are preserved.