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