CPUID status, will update with new info
Trying to fix a bug that isn't a bug just creates more bugs.
That's what happened with the AVX flag. The orignal implementation was correct. A detailed explanation
is avaiable in this file:
https://bitbucket.org/ariya/cpu-detect/src/cc2037e9bd0fb8cf12846dbfa4818fd813043972/base/cpu.h?at=masterSo I've reverted.
The AVX2 flag isn't implemented by cpu-detect so I don't know if it requires the same logic ad AVX1. I will look into it further.
cpu_detect returns the AES flag directly from the cpuid register so it is still a complete mystery why it was misidentified
on the AMD Phenom2.
The owner of a Xeon without AES posted capabilities while attemting to use the CMB Westmere build and it showed some
interesting results. It correctly showed the CPU did not have AES but incorrectly displayed AVX and AVX2 as being
available.
This help define the problem, or should I say problems:
1. AVX shows available on non-AES CPU. This one might be understood and fixed with the correct reading of
this feature. I would need a volunteer with a non-AES CPU to test.
2. AES shows available on non-AES AMD CPU. Still a mystery but seems limited to AMD.
3. AVX2 shows available on non-AES CPUs. I have to reimplement this because it does not use cpuid.
I would like a volunteer or two because I don't like to publicly release code based on trial and error, which has
been happening for the past few releases. These volunteers would need to be able to compile their own, Windows
or Linux, doesn't matter. I hope I ave one volunteer already with an older AMD CPU. I would like a volunteer with
old Intel CPU particularly Westmere and Nehalem.
Investigation continues.