summaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
authorMarc Glisse <marc.glisse@inria.fr>2011-08-21 20:08:38 +0200
committerMarc Glisse <marc.glisse@inria.fr>2011-08-21 20:08:38 +0200
commitaf14b70ec142e9ce184456a40ee322cc1370c155 (patch)
tree57a2a869778035515ce55043c0910925da805595 /ChangeLog
parentce54f55991d1337d4bd3ca01e7fbe2526e27f266 (diff)
downloadgmp-af14b70ec142e9ce184456a40ee322cc1370c155.tar.gz
__builtin_constant_p optimizations to turn x+0 into x, x*4 into x<<2, etc, all done in the C++ layer.
Also rewrote the addition of rational and integer which always did a mpq_set first.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog14
1 files changed, 14 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index c818e175a..668591641 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2011-08-21 Marc Glisse <marc.glisse@inria.fr>
+
+ * tests/cxx/t-ops2.cc: check mul-div by 2.
+
+ * gmpxx.h (__GMPXX_CONSTANT): New macro (__builtin_constant_p).
+ (__gmp_binary_lshift): Move before multiplication. Optimize x << 0.
+ (__gmp_binary_rshift): Move before division. Optimize x >> 0.
+ (__gmp_binary_plus): Optimize x + 0. Rewrite rational + integer.
+ (__gmp_binary_minus): Optimize x - 0 and 0 - x.
+ Rewrite rational - integer.
+ (__gmp_binary_multiplies): Optimize x * 2^n.
+ (__gmp_binary_divides): Optimize x / 2^n.
+ (__gmp_binary_*): Deduplicate code for symmetric operations.
+
2011-08-18 Torbjorn Granlund <tege@gmplib.org>
* printf/doprntf.c (__gmp_doprnt_mpf): For DOPRNT_CONV_FIXED, ask for