joblo, it seems that XEVAN is broken on all non-AES AMD CPU's
CPU: Athlon 64 X2 Dual Core Processor 6000+ (MMX, SSE, SSE2, SSE3)
OS: Ubuntu 14.04 x64
miner versions:
v3.4.12-legacy / -march=core2 - After miner and stratum start > "Illegal instruction (core dumped)"
v3.4.12-legacy / -march=btver1 - After miner and stratum start > "Illegal instruction (core dumped)"
v3.5.9.1-legacy / -march=core2 - After miner and stratum start > "Illegal instruction (core dumped)"
v3.5.9.1-legacy / -march=btver1 - After miner and stratum start > "Illegal instruction (core dumped)"
v3.5.12 / -march=core2 - After miner and stratum start > "Illegal instruction (core dumped)"
v3.5.12 / -march=btver1 - After miner and stratum start > "Illegal instruction (core dumped)"
CPU: AMD Phenom II X4 965 (MMX (+), 3DNow! (+), SSE, SSE2, SSE3, SSE4A, x86-64, AMD-V)
OS: Win 7 Ultimate x64 SP1
miner versions:
v3.4.12-legacy / -march=core2 - After miner and stratum start > APPCRASH
v3.4.12-legacy / -march=btver1 - After miner and stratum start > APPCRASH
v3.5.9.1-legacy / -march=core2 - After miner and stratum start > APPCRASH
v3.5.9.1-legacy / -march=btver1 - After miner and stratum start > APPCRASH
v3.5.12 / -march=core2 - After miner and stratum start > APPCRASH
v3.5.12 / -march=btver1 - After miner and stratum start > APPCRASH
CPU: AMD FX-7600P (MMX (+), SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, SSE4A, x86-64, AMD-V, AES, AVX, XOP, FMA3, FMA4)
OS: Win 7 Ultimate x64 SP1
miner versions:
v3.4.12-legacy / -march=bdver3 - XEVAN Works
v3.4.12-legacy / -march=native - XEVAN Works
v3.5.9.1-legacy / -march=bdver3 - XEVAN Works
v3.5.9.1-legacy / -march=native - XEVAN Works
v3.5.12 / -march=bdver3 - XEVAN Works
v3.5.12 / -march=native - XEVAN Works
Illegal instruction pretty much tells the story. With a lot of help I can probably figure out which instruction AMD is
tripping over but I won't be able to fix. The instruction isn't implemented in the CPU, it's as simple as that.
This kind of imcompatibility is probably worked around by the compiler but that doesn't work for intrinsic
functions or assembly code.
The only alternative is to use a miner that is free of SSE2 code such as cpuminer-multi.