Yes, for sure! Even more for avx2 and 256-bit ymm registers. Dot-products in eval, and otherwise depending on your design. The usual pseudo bitboarders with magic lookups not that much, but direction-wise fill-approaches ala DirGolemmar wrote:MMX was wonderful back then (x years ago), I remember using it for software rasterization and software (audio) mixing, it was simply awesome.Peer Gynt wrote:I know, but do you need FPU in a chess program? What for? Try using integers instead.
Do you really need SIMD for a bitboard chess engine? Now that we have 64-bit cpus? I guess not.

8 MMX registers are still nice to have in 64-bit mode with sse-float, where some xmm regs need to be caller safe. There are no explicit calling conventions with MMX, only some early confusion for win64.mar wrote:The only interesting SSE instruction (for chess) is popcnt which is SSE4.x (not sure). MMX may only be interesting in 32-bit mode but AFAIK not many optimize their engines for that anyway. It may be interesting to do a performance comparison - MMX assembly/intrinsics vs 32-bit (assembly/C) code. I doubt MMX will have any advantage on a 64-bit CPU, but I'm just guessing here.
Also you won't be able to interleave mmx assembly with other (complier generated) instructions to remove dependencies/optimize pipeline so hard to say.
A perfomance comparison would be nice. Until then it's just guesswork.
http://msdn.microsoft.com/en-us/library ... 00%29.aspx