lkml.org 
[lkml]   [2015]   [Jan]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH] lib/int_sqrt.c: Optimize square root function
Date
From: Anshul Garg <aksgarg1989@gmail.com>

Unnecessary instructions are executing even though m is
greater than x so added logic to make m less than equal to
x before performing these operations.

Signed-off-by: Anshul Garg <aksgarg1989@gmail.com>
---
lib/int_sqrt.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/lib/int_sqrt.c b/lib/int_sqrt.c
index 1ef4cc3..64ae722 100644
--- a/lib/int_sqrt.c
+++ b/lib/int_sqrt.c
@@ -22,6 +22,9 @@ unsigned long int_sqrt(unsigned long x)
return x;

m = 1UL << (BITS_PER_LONG - 2);
+
+ while (m > x)
+ m >>= 2;
while (m != 0) {
b = y + m;
y >>= 1;
--
1.7.9.5

---
This email has been checked for viruses by Avast antivirus software.
http://www.avast.com


\
 
 \ /
  Last update: 2015-01-29 15:01    [W:0.029 / U:0.448 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site