Hi Brian, that's great to hear that everything passes on Windows 64.
I don't think there is any benefit to writing full assembly files for these two new functions. The reason is that the function call overhead would be about 9 cycles, which would be more than than actual saving over the C macros that we have. So in fact, assembly files would likely slow it down. However, I agree that it would be very beneficial if someone were to volunteer to write _inline_ assembly for Windows 32 bit, as this would give a 5% speedup on that platform. Conversely, if no one is actually using this platform then letting support lapse seems to be an option. I will continue to maintain MinGW build support for Windows 32 for a while and that will at least provide an option for people on that platform. But I'm not going to put time into non-essential assembly code for that platform as there are simply too many other things to maintain. I should have a better indication of my future in the next few weeks, at which point I should know how much time I can put into MPIR in future. Even so, with only two people volunteering we can't hope to accomplish much. So I agree, we do need further volunteers! Bill. On 16 April 2013 10:05, Brian Gladman <[email protected]> wrote: > On 15/04/2013 17:44, Bill Hart wrote: > > All the extended test code I ran passed, so I'm happy that the code is > > working well now. > > > > I've also switched all the precomputed inverses over to the new ones. > > > > I decided not to remove dc_divappr_q_n.c until Brian has had a chance to > > catch up with Windows. (I think apart from the add_333 and sub_333 > > functions there should be no other changes on Windows Brian.) > > > > I have merged everything into master and will wait until Brian has been > > able to test on Windows before removing the file dc_divappr_q_n.c, as > > the latter will require quite a lot of build changes on linux and > Windows. > > Congratulations Bill, the the Windows x64 builds work and pass all tests > without needing any changes at all! > > The C versions of add_333 and sub_333 have to be used on Windows x64 as > there is no inline assembler capability in the MSVC x64 compiler. I > could provide inline assembler for win32 but, since I am not using win32 > any more, this really should be done by someone who needs it and can > hence maintain it. > > Inline assembler versions would be useful for the Windows mingw and > mingw64 builds. But since Jason passed away, these builds are sadly no > longer being maintained. Hence we again need a volunteer from the > communities that need these builds to develop and maintain any inline > assembler code involved. > > If these routines really matter, I can produce full assembler versions > for x64 with the MSVC compiler but for the present, at least, it seems > that the default C versions will have to do. > > Brian > > -- You received this message because you are subscribed to the Google Groups "mpir-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/mpir-devel?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
