cdrkf :
Gamerk you totally missed the point about starcraft 2... That graph shows the fx performing much much better than usual with an Intel flag, its the same cpu in both colors, the difference is the cpu flag. Fx chips normally fall flat in sc2 which is always attributed to their 'weak ipc' yet with an Intel flag It magically performs better
Irrespective of which compiler was used, this constitutes a serious problem as it's artificially skewing the playing field against amd...
Ah, that's why I really need to stop doing analysis at 1 AM. But still, MAJOR problems here with the test setup. Here are the major ones:
1: Why exactly is CPUID picking up the FX as a single core chip capable of running four threads? So FX nativity isn't even being detected right. so god knows what that's doing to performance.
2: Know any Core 2 CPUs with one core, four threads?
Worse, some of the CPUID results are still picking up the CPU as an AMD FX-8350, just running on LGA 775. I'm also seeing the register layout for a FX chip, not a Core 2, and instruction set support of a FX, not a Core 2.
So frankly, I have no idea what the software is going to do here, since your spoofing something that doesn't exist in reality. You could very well have code blocks that look like:
If Core 2 [This wouldn't trigger]
If Intel [This would]
If HTT [This will]
If AVX [Yep]
And so on. Since you're spoofing something that doesn't exist, I can't predict what the heck the software is going to do. I could easily see a combination of code paths being executed that wouldn't normally be executed together, which could lead to all sort of strange performance.
3: VMWare? Opens up a lot of weird performance questions, mainly how VMWare is going to react to a spoofed Intel CPU. So you have a MAJOR ambiguity in the results before you actually measure anything.
4: The guest OS is running with 3GB of RAM, which is fairly low.
5: I SPECIFICALLY noted MSVC 2008. It's simply possible that SCII doesn't have a native BD codepath, since BD wasn't a thing at the time. And trying to run the old Thurbian codepath, or even the generic SSE2 code path, is going to cost some performance. Without knowing the EXACT build of the compiler, I can't speak for what the code-gen is doing for specific CPU architectures.
So I call the entire test suspect before it even begins.