[citation][nom]palladin9479[/nom]Umm you guys might want to go check what exactly an Itanium is. It's not x86 nor EMT64, it won't execute any code compiled for x86 (they removed the x86 emulation awhile back). Instead Intel has a software x86 emulator, better then their original hardware implementation but still absolute sh!t performance compared to a real x86 CPU.Next IA-64 is VLIW architecture, meaning it executes multiple instructions per cycle, unfortunately these instructions must be determines during compile time and not during run time. What you end up with is code going through a CPU that has a large (30~50%) portion that is completely useless as the compiler predicts incorrectly. There is a hardware branch prediction unit but it's nothing like what is in the x86 CPU's. It just tries to predict which blocks of VLIW code to push through the CPU and pre-cache as much as possible. It can't actually recode the VLIW code for parallel execution.What you ultimately get is crap performance in anything that's not DSP / encoding related. Webservers / database servers / application servers all suffer greatly under an IA-64 architecture. There is a reason most of the industry goes with IBM Power or Sun SPARC for their RISC processing needs.[/citation]
Your understanding is very, very poor.
Itanium does have very good branch prediction. What you're very, very confused about, and trying to spread confusion about is scheduling of instructions. Itanium has been in order since it has been made, and has no facility to reorder instructions in hardware. Consequently, compilers are expected to handle this load more efficiently than x86 compilers. This is in no way the same as saying it doesn't have effective branch prediction. They are two different things.