On Apr 30, 9:14 am, Jason <ja...@njkfrudils.plus.com> wrote: > On Saturday 30 April 2011 09:05:26 Cactus wrote: > > > On Apr 30, 8:40 am, Jason <ja...@njkfrudils.plus.com> wrote: > > > Hi > > > > I've removed the pa64 pa32 and s390 directory's and the associated > > > configure stuff and I've moved all the asm code from gmp-impl into the > > > architecture specific directory's and I've removed the -DNO_ASM option. > > > > We still work under pa64 pa32 and s390 , but we use autotool's defaults > > > and anyone using these arch's would not be running MPIR anyway (these > > > are old mainframe/server chips and the only reason you would be using > > > one is that you dont want to change your software) > > > > You can still pass the -DNO_ASM option , but it has no effect. > > > > The recommended way to include mpir.h,gmp-impl,longlong if you wanted to > > > use (say popc_limb) is to > > > > include mpir.h > > > include longlong.h > > > include gmp-impl.h > > > > A lot of files do it this way though > > > > include mpir.h > > > include gmp-impl.h > > > include longlong.h > > > > this will still work. > > > > Jason > > > For MSVC at least, longlong.h contains optimisations in defines that > > will be overiddden by less effective definitions in gmp-impl.h if the > > former order is used without using guards to prevent redefinitions in > > gmp-impl.h. > > I thought all the def's in gmp-impl were guarded , have I missed some?
I only looked at the one I needed to track in x86_64, where I found that the definition of BSWAP_LIMB does not define the guard BSWAP_LIMB if it is invoked. > > I am not arguing for the latter order but rather for the use of one > > of these two orders everywhere so that we know where to put > > architecture specific optimisations. I have guards in the MSVC > > longlong_inc.h but I notice that they aare not used in some other > > longlong_inc.h versions. > > for this we only need to guard the def's in longlong that might be defined in > gmp-impl. I agree but it seems to me safer to adopt one order uniformly. > I did think of doing a similar thing for gmp-impl , ie having a _pre and _post > and a arch specific gmp-impl I am not sure why we have gmp-impl and longlong.h since it seems to me that exported definitions should be in mpir.h and internal ones in gmp- impl.h :-) Brian -- 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.