30 lines
1.1 KiB
Diff
30 lines
1.1 KiB
Diff
commit 0cc12d9c47eb97d82c8f5af3724b4a4bc01df74a
|
|
Author: Wilco Dijkstra <wilco.dijkstra@arm.com>
|
|
Date: Wed Jul 24 15:17:47 2024 +0100
|
|
|
|
math: Improve layout of expf data
|
|
|
|
GCC aligns global data to 16 bytes if their size is >= 16 bytes. This patch
|
|
changes the exp2f_data struct slightly so that the fields are better aligned.
|
|
As a result on targets that support them, load-pair instructions accessing
|
|
poly_scaled and invln2_scaled are now 16-byte aligned.
|
|
|
|
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
|
(cherry picked from commit 44fa9c1080fe6a9539f0d2345b9d2ae37b8ee57a)
|
|
|
|
diff --git a/sysdeps/ieee754/flt-32/math_config.h b/sysdeps/ieee754/flt-32/math_config.h
|
|
index 729f22cd4f7dd9e4..dc07ebd45977e511 100644
|
|
--- a/sysdeps/ieee754/flt-32/math_config.h
|
|
+++ b/sysdeps/ieee754/flt-32/math_config.h
|
|
@@ -166,9 +166,9 @@ extern const struct exp2f_data
|
|
uint64_t tab[1 << EXP2F_TABLE_BITS];
|
|
double shift_scaled;
|
|
double poly[EXP2F_POLY_ORDER];
|
|
- double shift;
|
|
double invln2_scaled;
|
|
double poly_scaled[EXP2F_POLY_ORDER];
|
|
+ double shift;
|
|
} __exp2f_data attribute_hidden;
|
|
|
|
#define LOGF_TABLE_BITS 4
|