Intel have always had a dodgy business ethic (let them sue). In the 90's they did their level best to wipe out all competitors on the x86 CPU front. All except AMD have gone. They had appalling math errors on early pentium CPU's. They pay computer builders not to use other chipsets, CPU's. They brought out their own memory type which bombed totally, trying to corner the RAM market. They were totally behind the curve on the 64bit CPU until catching up. They had said it was not necessary on the desktop and only used it for server applications.
All CPU's have errors, and they are generally well published. The fact that the Pentium FPU bug slipped through quality control was pretty bad, but to be fair, Intel replaced the chips for anyone who asked (I had my Pentium replaced free of charge by intel). Everquest players were made away of a bug with the AMD processors of the day which caused the bright red "Rubicite" armor to appear BLUE for anyone running an AMD processor.... Ok, its a less critical problem than the Intel FPU bug.. but clearly the AMD CPU's were making an error somewhere down the line.
I assume you are referring to Rambus.. Why intel suported rambus so much with early P4 systems is beyond me... but it wasnt "their own memory type". I assume rambus payed intel a lot of money :/
Intel were not behind the curve on 64bit at all, they worked very hard with Hewlett Packard to produce Itanium otherwise known as IA64... They tried a ground up 64bit design which could have had potential, but it was sidelined to specialist fields because it was not compatible with the old IA32 processors. With the money spend on the IA64 project intel didnt want to release a 64bit enhanced X86 architecture, and probably wouldnt have if AMD hadnt done it. It doesnt always pay to make the right move, a new pure 64bit architecture "could" have ended up considerably faster than our "upgraded" legacy 16/32/64bit X86 architecture processors. In the end of the day it was the end users that resisted "change" and opted to stick with legacy designs.
We'll never know just how good Itanium could have been as it doesnt get any kind of development budget these days
To be honest, the argument that intel deliberately make their compiler to make poor code on "compatible" processors is rather ridiculous imho. They are optimized to produce high quality, fast executing code that makes best use of their flagship processors. Nobody forces developers to use intels compilers, there are several other good compilers available. Most compilers have switches which tell the compiler which CPU to optimize for... If a developer decides to optimize for i7, and the resulting code is weak on a Phenom whos fault is that.. intel's or the developer who chose that i7 performance was what they wanted? It only becomes an issue when intel pay the developers to use the intel specific optimizations... But honestly what do we want as end users... Anyone who buys a CPU wants their program to be optimized for their CPU.. Do we want every application to come with several disks, so we pick and install the "correct" version for our CPU? (Perhaps we should be asking developers for CPU specific optimizations on all applications).
To be honest I think the "compiler" issue was bigger in the P4 era, as the P4's strange design meant that code that ran great on P3's and AMD processors was generally poor on P4's. Unfortunatly P4 optimized code was pretty appauling on both P3's and AMD cpus. Its worth remembering that Intel set the standards for the 80x86 instruction set a long time ago, infact it can be tracked all the way back to the Intel 8008 in 1972. The only reason AMD even make 80x86 compatible processors is because IBM only agreed to use Intel 8088's in the IBM PC if there were a minimum of two suppliers. Intel supplied blueprints of the cpu to AMD who produced the 8088, 8086, 80268 parts under licence.