On Tue, Jan 13, 2015 at 11:34 AM, Nikos Mavrogiannopoulos n.mavrogiannopoulos@gmail.com wrote:
On Tue, Jan 13, 2015 at 11:20 AM, Niels Möller nisse@lysator.liu.se wrote:
nisse@lysator.liu.se (Niels Möller) writes:
Clearly, this will be more useful after adding support for fat binaries, detecting presence of these instructions at runtime.
I've now had a first go at fat-library support. Checked in on the branch fat-library. See https://git.lysator.liu.se/nettle/nettle/blob/fat-library/x86_64/fat/fat.c
A quick and dirty patch to enable SSE2 instructions for memxor() on Intel CPUs is attached. I tried to follow the logic in the fat.c file, but I may have missed something. I've not added memxor3() because it is actually slower with SSE2.
SSE2: memxor aligned 26081.83 memxor unaligned 25893.69
No-SSE2: memxor aligned 17806.94 memxor unaligned 16581.48
regards, Nikos