My program does some computing on matrices. I was suprised by fact that visual studio compiler generated faster code than icl. I checked settings of project in vs and I think everything is set correct. Command line looks like this:
You don't give much information here. Use of movaps in place of movapd is a standard optimization, saving 1 byte of code. It's conceivable that accidental alignments might come out worse. MSVC from VS2005 is often not as fast as the ones from VS2008SP1 or VS2010. You can't tell from the number of different named registers whether there will be a physical difference, as hardware register renaming will make use of more registers. I'm trying to remember how long it's been since I saw a CPU without hardware renaming; it makes me feel my age.