gcc: "Diesel-gate" on compilers?
by business_kid from LinuxQuestions.org on (#5BASN)
Over the weekend I was browsing some comparisons of performance, AMD vs. Intel vs Arm64 in servers. I forget or wasn't actually told what the test set was.
Anyhow, it became clear that the test results released by AMD had the test software compiled using the (proprietary) Kray(?) compiler. Test results released by Intel had the tests compiled on the icc compiler.
The reviewer pointed out that these compilers probably were probably profiled for the AMD and Intel cores, a sort of "Diesel-gate" if you like, where the particular processor is made to shine at particular tests. Arm had no special compiler and was stuck on plain gcc.
Now I'm a hardware guy and no programmer, but for sure, I've done Assembler. It wrecks your head for a month as you assimilate the data, but then you suddenly become expert. For sure, you can shave cpu cycles off how you wrote the job and get the same result in fewer machine cycles.
Now
A) Am I correct in suspecting compiler "Diesel-gate?"
B) Is there room for specific gcc switches for Arm, Intel, & AMD?
C) Generally, does it matter, or are these simply profiled at particular test programs?


Anyhow, it became clear that the test results released by AMD had the test software compiled using the (proprietary) Kray(?) compiler. Test results released by Intel had the tests compiled on the icc compiler.
The reviewer pointed out that these compilers probably were probably profiled for the AMD and Intel cores, a sort of "Diesel-gate" if you like, where the particular processor is made to shine at particular tests. Arm had no special compiler and was stuck on plain gcc.
Now I'm a hardware guy and no programmer, but for sure, I've done Assembler. It wrecks your head for a month as you assimilate the data, but then you suddenly become expert. For sure, you can shave cpu cycles off how you wrote the job and get the same result in fewer machine cycles.
Now
A) Am I correct in suspecting compiler "Diesel-gate?"
B) Is there room for specific gcc switches for Arm, Intel, & AMD?
C) Generally, does it matter, or are these simply profiled at particular test programs?