aboutsummaryrefslogtreecommitdiff
path: root/libgcc/config/avr/libf7/ChangeLog
blob: ce80d3815beb1d7259621f2914f2ace951508907 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
2024-06-14  Georg-Johann Lay  <avr@gjlay.de>

	PR target/115419
	* libf7.c (f7_get_double): Round tie breaks to even LSB.

2024-06-01  Georg-Johann Lay  <avr@gjlay.de>

	PR target/115317
	* libf7-asm.sx (__isinf): Map -Inf to -1.

2024-05-08  Georg-Johann Lay  <avr@gjlay.de>

	PR target/114981
	* libf7-common.mk (F7_ASM_PARTS): Add D_powi
	* libf7-asm.sx (F7MOD_D_powi_, __powidf2): New module and function.
	* libf7.c (f7_powi): Fix last (wrong) statement.
	Tweak trivial multiplications with 1.0.

2023-11-14  Georg-Johann Lay  <avr@gjlay.de>

	* libf7-const.def [F7MOD_sinh_]: Add MiniMax polynomial.
	* libf7.c (f7_sinh): Use it instead of (exp(x) - exp(-x)) / 2
	when |x| < 0.5 to avoid loss of precision due to cancellation.

2023-11-12  Georg-Johann Lay  <avr@gjlay.de>

	* libf7-asm.sx (sqrt_approx): Rewrite.
	* libf7.c (f7_sqrt): Use it instead of sqrt_worker.
	(sqrt_worker): Remove.

2023-11-08  Georg-Johann Lay  <avr@gjlay.de>

	* libf7-asm.sx (mul_mant) [AVR_HAVE_MUL]: Tweak code.

2023-10-18  Georg-Johann Lay  <avr@gjlay.de>

	* libf7-asm.sx (mul_mant): Implement for devices without MUL.
	* asm-defs.h (wmov) [!HAVE_MUL]: Fix regno computation.
	* t-libf7 (F7_ASM_FLAGS): Add -g0.

2023-10-17  Georg-Johann Lay  <avr@gjlay.de>

	* f7-renames.h: Re-renerate.

2023-10-17  Georg-Johann Lay  <avr@gjlay.de>

	* libf7.h (F7_SIZEOF): New macro.
	* libf7-asm.sx: Use F7_SIZEOF instead of magic number "10".
	(F7MOD_D_fma_, __fma): New module and function.
	(fma) [-mdouble=64]: Define as alias for __fma.
	(fmal) [-mlong-double=64]: Define as alias for __fma.
	* libf7-common.mk (F7_ASM_PARTS): Add D_fma.

2023-10-12  Georg-Johann Lay  <avr@gjlay.de>

	* libf7.c (F7MOD_atan2_, f7_atan2): New module and function.
	* libf7.h: Adjust comments.
	* libf7-common.mk (CALL_PROLOGUES): Add atan2.

2023-10-05  Georg-Johann Lay  <avr@gjlay.de>

	* libf7.h (F7_PURE): Remove all occurrences.
	* libf7.c: Same.

2023-10-05  Georg-Johann Lay  <avr@gjlay.de>

	* libf7.h (F7_FLAGNO_plusx, F7_FLAG_plusx): New macros.
	* libf7.c (f7_horner): Handle F7_FLAG_plusx in highest coefficient.
	* libf7-const.def [F7MOD_atan_]: Denominator: Set F7_FLAG_plusx
	and omit highest term.
	[F7MOD_asinacos_]: Use rational function with normalized denominator.

2022-09-19  Georg-Johann Lay  <avr@gjlay.de>

	PR target/99184
	* libf7-asm.sx (to_integer, to_unsigned): Don't round 16-bit
	and 32-bit integers.

2020-06-23  David Edelsohn  <dje.gcc@gmail.com>

	* t-libf7: Use -include.

2020-01-08  Georg-Johann Lay  <avr@gjlay.de>

	Implement 64-bit double functions.

	PR target/92055
	* t-libf7: New file.
	* t-libf7-math: New file.
	* t-libf7-math-symbols: New file.
	* libf7-common.mk: New file.
	* libf7-asm-object.mk: New file.
	* libf7-c-object.mk: New file.
	* asm-defs.h: New file.
	* libf7.h: New file.
	* libf7.c: New file.
	* libf7-asm.sx: New file.
	* libf7-array.def: New file.
	* libf7-const.def: New file.
	* libf7-constdef.h: New file.
	* f7renames.sh: New script.
	* f7wraps.sh: New script.
	* f7-renames.h: New generated file.
	* f7-wraps.h: New generated file.