On 10/30/2015 05:29 PM, Iakh wrote:
I continue to play with SIMD. So I was trying to use std.simd
But it has lots of thing to be implemented. And I also gave up with
core.simd.__simd due to problems with PMOVMSKB instruction (it is not
implemented).
Today I was playing with memchr for gdc:
memchr: http://www.cplusplus.com/reference/cstring/memchr/
My implementations with benchmark:
http://dpaste.dzfl.pl/4c46c0cf340c
Benchmark results:
-----
Naive: 21.9 TickDuration(136456491)
SIMD: 3.04 TickDuration(18920182)
SIMDM: 2.44 TickDuration(15232176)
SIMDU: 1.8 TickDuration(11210454)
C: 1 TickDuration(6233963)
Mid colon is duration relative to C implementation (core.stdc.string).
Could you please take a look at GCC's generated code and implementation
of memchr? -- Andrei