From f3b969b6991f154a1fde1ea6b4488320ed0b486f Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Tue, 15 Mar 2016 11:40:46 +0100 Subject: Optimise zsetup, zgcd, zmul, and zsqr and add -flto MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- src/zsqr.c | 21 +++------------------ 1 file changed, 3 insertions(+), 18 deletions(-) (limited to 'src/zsqr.c') diff --git a/src/zsqr.c b/src/zsqr.c index bd03128..68480ba 100644 --- a/src/zsqr.c +++ b/src/zsqr.c @@ -42,32 +42,17 @@ zsqr(z_t a, z_t b) zsplit(high, low, b, m2); -#if 1 + zsqr(z0, low); zsqr(z2, high); zmul(z1, low, high); zlsh(z1, z1, m2 + 1); m2 <<= 1; - zlsh(z2, z2, m2); - - zadd(a, z2, z1); - zadd(a, a, z0); -#else - zsqr(z0, low); - zsqr(z2, high); - zmul(z1, low, low); - - zlsh(z0, z0, m2 + 1); - zlsh(z1, z1, m2 + 1); zlsh(a, z2, m2); - m2 <<= 1; - zlsh(z2, z2, m2); - zadd(z2, z2, a); + zadd_unsigned_assign(a, z1); + zadd_unsigned_assign(a, z0); - zsub(a, z2, z1); - zadd(a, a, z0); -#endif zfree(z0); zfree(z1); -- cgit v1.2.3-70-g09d2