You can't even write proper English... should probably learn how to do that before arguing on a forum that uses the English language.And you , you do ??...
Assuming that the code is equally optimuzed , wich is not the case
at all , otherwise in FP calculus the BD should do way better given
its instrcution set.
The floating point unit is what's flexing its muscle in a hash workload, so I'm not even sure what you're trying to argue there.
And yes, I do. Cache sizes are different between IVB and BD. Cache latencies are different. Cache miss penalty is different. Cache associativity is different. Memory controllers are different. Load/store units are different. Integer execution units are different. Floating point units are different. Schedulers are different. Decoders are different. IVB has a µop cache, Bulldozer does not. Branch prediction units are different. Physical register files are different. Latencies between all these units are different. Fab processes are different. Flip flops are different
Need I say more?
Thinking that a CPU is going to perform the same relative to a completely different CPU requires a juvenile perspective of processors. There are far too many variables, and each architecture is going to have its own strengths and weaknesses.
Yes, Bulldozer supports some fancy instructions that Ivy Bridge doesn't. Even if Bulldozer is using XOP or FMA4, that doesn't necessarily mean that it will outperform Ivy Bridge.
Blaming Bulldozer's shortcomings solely on "poor optimization" is just asinine. Is it part of the problem? Sure. The reason that Bulldozer failed lies far deeper than code and compiling though.