To view parent comment, click here.
To read all comments associated with this story, please click here.
moondevil,
"As I said it all depends how complex it is the processor you are trying to target."
I hear that, but most compilers don't attempt to optimize for all the things your talking about and they still need your help with setting the right flags and runtime profiling when they do. Some of them are still doing a bad job, for example we tested GCC's SIMD vectorization last year and it did not do a great job of it. It would be neat to try that again and see if it's improved. But all too often people simply assume that compiler output is optimal without even doing any benchmarks. While this might be just fine for their purposes, it's most definitely wrong to make assertions about it since they're not the people who know much about optimizing in the first place.
At times I'm able to beat GCC's output, I'd rate my skill as above average but you'd be right if you said that it's usually too much work for too little gain. It's not usually worthwhile especially when non-portable code is the result.
This reminds me - 80+% of drivers think they are above average, too ;P
sometimes the compiler "cheats" - like when Intel compiler turned off optimisations on non-Intel CPUs (a bunch of links: http://www.hydrogenaudio.org/forums/index.php?showtopic=77523 ...seems Intel is at it again with AVX)





Member since:
2005-07-08
As I said it all depends how complex it is the processor you are trying to target.
I doubt anyone can write better Assembly for the Itanium than what the compiler generates, given the processor's design decisions.