In Windows:
If the hardware supports AVX, but the OS doesn't, it will tell you outright before continuing. (similar message if you were to run a 32-bit OS on 64-bit hardware)
Similarly, if you were to run this version on Bulldozer, it will tell you that it can't use AVX yet.
In Linux:
I haven't made a dispatcher for it yet, so the user has to pick from one of the 4 binaries. I assume Linux users are more technically inclined. So if they run the AVX version and it crashes, it might be a good hint that the hardware doesn't support it. (Linux has had support for AVX for quite a while now, so I shouldn't have to worry about that.)
If the hardware doesn't support AVX in the first place, then it won't tell you anything about not being able to use AVX.
As for the compilers, GCC is fine. So the Linux version of the AVX binary will run on Bulldozer.
For Windows, I'll wait until closer to the release date of Bulldozer. There's no point in spending time on getting/learning/trying another compiler if the problem will go away by itself.
If neither the Intel Compiler nor Visual Studio has fixed their problem by Bulldozer's release, then I'll start looking for another compiler - MinGW is first on my list.
EDIT:
Here's what it looks like if you try running v0.5.5 on SB without OS support for AVX.
I actually have 3 OS's installed on this machine at the moment.
Windows 7: My default, has all my games and stuff installed.
Windows 7 SP1 Beta: Sole purpose -> AVX programming
Ubuntu 10.10: Linux programming.
The Windows 7 SP1 Beta install is just temporary. I put it on an extra laptop drive I had sitting around. I'm gonna get rid of it when MS officially releases SP1.
(click to enlarge)
http://www.numberworld.org/y-crunche..._AVX_small.png