On Dec 20, 4:20 pm, ja...@njkfrudils.plus.com wrote:
> Hi
>
> I propose some new mpn functions/macro's
>
> left and right shift by 1 bit  say called mpn_lshift1 , but with no partial
> overlap of source and destination. Quite a few cpus should be able to use
> their mpn_add_n for the mpn_lshift1 so not just the K8 will benefit.
> On the K8 I have a general shift running at 2.21c/l and a shift by 1 running
> at 1.28c/l (left and right). For cpus where we dont have a native version we
> can just define mpn_lshift1 as a macro to call mpn_lshift(....,1) , no loss
> of speed and no backwards compatibility issues.
> Looking at the existing mpir code you can see quite a few instances where we
> have a fixed shift of 1 , and the correct overlap restrictions.
>
> Some new HAVE_NATIVE functions (ie like mpn_addlsh1_n)
>
> mpn_addadd_n()
> mpn_addsub_n()
>
> which are (rp,n)=(s1p,n)+(s2p,n)+-(s3p,n)
>
> for example on the K8 , two adds are 3.0c/l but addadd is 2.25c/l
> the existing mpn_mul_kara can use both of these.
> Another possible use of mpn_addsub_n is modulo addition , although you best
> test the high limb first.
>
> Note: the name above mpn_addsub_n conflicts with an existing function which
> calculates the sum and diff , but its undocumented so we could change the
> name

I notice the directorys yasm and build.vc9 have some configuration
info in them , are they to be manually edited or are they auto
generated by some windows prog?

eg I've changed the name of mpn_addsub_n to mpn_sumdiff_n

thanks
jason


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"mpir-devel" group.
To post to this group, send email to mpir-devel@googlegroups.com
To unsubscribe from this group, send email to 
mpir-devel+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/mpir-devel?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to