summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTorbjorn Granlund <tg@gmplib.org>2019-08-25 10:32:03 +0200
committerTorbjorn Granlund <tg@gmplib.org>2019-08-25 10:32:03 +0200
commitd6ce709c13ca8793825f88324bfad9e6bb7f588f (patch)
treec5af244ac4b884b78b0fefb6282827847a88f5ed
parent9bfc5c10159b2e23e9e654541d9afae6383b7e47 (diff)
downloadgmp-d6ce709c13ca8793825f88324bfad9e6bb7f588f.tar.gz
Repeat tzcnt for exceptional lowz case. Remove dead code.
-rw-r--r--mpn/x86_64/bd2/gcd_22.asm5
1 files changed, 1 insertions, 4 deletions
diff --git a/mpn/x86_64/bd2/gcd_22.asm b/mpn/x86_64/bd2/gcd_22.asm
index eba0846e2..7f402e603 100644
--- a/mpn/x86_64/bd2/gcd_22.asm
+++ b/mpn/x86_64/bd2/gcd_22.asm
@@ -119,10 +119,6 @@ L(gcd_11):
mov u0, %rsi
TCALL( mpn_gcd_11)
-L(count_better):
- rep;bsf u0, cnt C tzcnt!
- jmp L(shr)
-
L(lowz):C We come here when v0 - u0 = 0
C 1. If v1 - u1 = 0, then gcd is u = v.
C 2. Else compute gcd_21({v1,v0}, |u1-v1|)
@@ -131,6 +127,7 @@ L(lowz):C We come here when v0 - u0 = 0
je L(end)
xor t1, t1
+ rep;bsf t0, cnt C tzcnt!
mov u0, s0
mov u1, s1
mov u1, u0