Re: It bears repeating: Building a CPU that runs C fast considered harmful.
You show complete lack of understanding on the subject of the CPU.
It does not run C. CPU designers do not adjust the CPU to run C any better just because the programmer wrote in C.
The CPU ONLY runs machine code. The performance of a C program vs a program written in Haskell for example depends entirely on the compiler (assuming you compile the haskell).
It is the compiler, for any language, that will take into account for any performance features implemented in a CPU. It is not restricted or exclusive to C but C compilers are likely the first to support that CPU feature because a heck of a lot of stiff is written in C.
The instructions in a CPU do not differ based on the language used by the programmer. In the past some CPU's were created to run LISP directly, being essentially a hardware VM interpreting the LISP byte code. But today generally your CPU implements the X86, AMD64 or ARM RISC instruction set and that is completely ignorant of your haskell or C coding preference.
When you write in Haskell and compile your get an executable blob of machine code. When you write the same program in C you get a blob of machine code. Both blobs use exactly the same machine code, the only difference between them being what instructions the compiler chose to use in creating that code. Thus the compiler is the cause of performance differences, not the hardware. The Haskell compiler may always be slower than the C compiler because its not taking advantage of advanced features of the CPU because the programmer who wrote the compiler has not added the code to do so. The CPU dictates nothing that affects this.
Its the same as saying that your electricity supplier makes electricity that is designed to work in LED lightbulbs but not in CFL light bulbs or a certain brand of toaster that they dont like. Trust me, I'm getting solar panels when my supplier denies power to my kitchen socket when I plug in my toaster that was made by a company that insulted them.
electricity = electricity
machine code = machine code
assembly -> assembler = machine code
C -> compiler = machine code
Haskell -> compiler or interpreter = machine code
Java -> compiler = bytecode -> JVM = machine code
C++ -> compiler = machine code
Perl -> JIT compiler = machine code
See any pattern there?
I suggest you read the datasheet for a CPU you "think" provides different instructions based on high level language choice and then write machine code to disprove yourself.