[PATCH v2] math: Improve layout of expf data

Wilco Dijkstra Wilco.Dijkstra@arm.com
Mon Sep 9 12:57:17 GMT 2024


v2: Improve description

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.

OK for commit?

---

diff --git a/sysdeps/ieee754/flt-32/math_config.h b/sysdeps/ieee754/flt-32/math_config.h
index 729f22cd4f7dd9e44ce5e97fb6a399e29e37eb13..dc07ebd45977e5118a12c6bb7c738d646b0f7926 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


More information about the Libc-alpha mailing list