div_qr_1 interface

Torbjorn Granlund tg at gmplib.org
Sun Oct 20 17:22:42 CEST 2013


nisse at lysator.liu.se (Niels Möller) writes:

  > I'm about to push the first step, with C implementations of mpn_div_qr_1
  > and mpn_div_qr_1n_pi1.
  
  Done now, including some tuning code. It would be interesting to have
  
    DIV_QR_1N_PI1_METHOD
    DIV_QR_1_NORM_THRESHOLD
    DIV_QR_1_UNNORM_THRESHOLD
  
  added to the tuning reports on the web.
  
Done.  First results are appearing now.  (The order might need cleanup,
patch ~tege/prec/gmpgenttab.sh.)

  I'll try to get the x86_64 assembly for mpn_div_qr_1n_pi1 in soon.
  I think my plan is to do things in this order:
  
  1. Get div_qr_1 working efficiently.
  
  2. Get divf_qr_1 (fraction) working efficiently.
  
  3. Let divrem_1.c use the new code.
  
  4. Check for regressions, and delete divrem_1.asm for onw platform at a
     time.
  
  but this will most likely take a long time to complete.
  
The fraction code might be of limited importance.  IIRC, it is only used
for radix conversion basecase, and Paul Z recently showed that our
basecase code there is quite poor.

The division project really needs work, and I really appreciate your
work on it!

I have some code in ~tege/GMP/newdiv which should be adapted and
committed:

-rw-r--r--  1 tege  tege   605 Jun 19  2007 /home/tege/GMP/newdiv/pre_mod_1-alpha.asm
-rw-rw-r--  1 tege  tege  1245 Jun 20  2007 /home/tege/GMP/newdiv/pre_mod_1-k8.asm
-rw-rw-r--  1 tege  tege  2147 Jun 25  2007 /home/tege/GMP/newdiv/divrem_1-p4.asm
-rw-rw-r--  1 tege  tege  6590 Jul 12  2007 /home/tege/GMP/newdiv/divrem_1-alpha.asm
-rw-r--r--  1 tege  tege  2989 Jul 19  2007 /home/tege/GMP/newdiv/div_1_pi2-alpha.asm
-rw-rw-r--  1 tege  tege  6775 Oct 18  2008 /home/tege/GMP/newdiv/divrem_1-k7.asm
-rw-r--r--  1 tege  tege  3397 Jun  9  2009 /home/tege/GMP/newdiv/divrem_1-arm.asm
-rw-rw-r--  1 tege  tege  6195 Mar 18  2010 /home/tege/GMP/newdiv/divrem_1-ppc32.asm
-rw-rw-r--  1 tege  tege  2036 Jun 18  2010 /home/tege/GMP/newdiv/bdiv_q_1_pi2-k8.asm
-rw-rw-r--  1 tege  tege  2632 Jun 24  2010 /home/tege/GMP/newdiv/div_1n_pi2-x86_64.asm
-rw-rw-r--  1 tege  tege  5852 Jun 26  2010 /home/tege/GMP/newdiv/div_1u_pi2-x86_64-shld.asm
-rw-rw-r--  1 tege  tege   187 Jul  1  2010 /home/tege/GMP/newdiv/div_1u_pi2-x86_64.asm
-rw-rw-r--  1 tege  tege  3210 Jul  1  2010 /home/tege/GMP/newdiv/div_2n_pi2-x86_64.asm
-rw-rw-r--  1 tege  tege  9766 Jan 19  2011 /home/tege/GMP/newdiv/divrem_1-ia64.asm
-rw-r--r--  1 tege  tege  2933 Jan 23  2011 /home/tege/GMP/newdiv/div_1_pi2-ppc64.asm

-- 
Torbjörn


More information about the gmp-devel mailing list