On Fri, 12 Jul 2019 at 13:21, John Maddock via Boost-users < boost-users@lists.boost.org> wrote:
That's only possible with assembly level add/multiply/divide.
Right. Ah OK, just looked at MPIR on win64 with the mpir_gc backend, and they
do use 64-bit limbs, but rely on GNU's longlong.h for add/subtract/multiply which appears not to use inline assembly for msvc, but instead breaks the inputs into high/low parts and then does schoolbook multplication.
The mpir_gc ([g]eneric [c]) backend will by definition not use assembly, one needs to build something a bit closer to one's hardware (run the mpir_config.py script [in the msvc sub-folder] to configure, generate solution files and build) to get any performance. It requires yasm as assembler [installed and properly integrated into VS20XX]. Altogether it's neither obvious nor trivial to get something [a binary] that works well. degski -- @realdegski https://edition.cnn.com/interactive/2019/06/middleeast/saudi-teen-death-pena... "Anyone who believes that exponential growth can go on forever in a finite world is either a madman or an economist" - Kenneth E. Boulding