The objective here, and indeed the material part of the old thread referred to above, was about creating an ICL compile that performed in the same way as the VC6 compile, ie., smaller file sizes, but at the higher speed.
For those who are not familiar with the different way that the Intel compiler operates on floating point to integer conversions, here is an extract from the compiler Help:
QUOTE
Rounding Control Option (-Qrcd)
The Intel compiler uses the -Qrcd option to improve the performance of code that requires floating-point-to-integer conversions. The optimization is obtained by controlling the change of the rounding mode.
The system default floating point rounding mode is round-to-nearest. This means that values are rounded during floating point calculations. However, the C language requires floating point values to be truncated when a conversion to an integer is involved. To do this, the compiler must change the rounding mode to truncation before each floating point-to-integer conversion and change it back afterwards.
The -Qrcd option disables the change to truncation of the rounding mode for all floating point calculations, including floating point-to-integer conversions. Turning on this option can improve performance, but floating point conversions to integer will not conform to C semantics.
The recommended 3.90.2/3 compiles use the -Qrcd option. However, the MSVC compilers conform to C semantics and, therefore, any VC compiles are bound to produce different results to the Intel compilers. IIRC, Dibrom, in the earlier thread, commented that there was unlikely to be any real audible difference between the results produced by the different methods of working. I don't believe this was ABXed, but was the general tone of the conversation.
For those who want Intel speed but with VC reduced file sizes, removal of the '-Qrcd' compile option provides encoded files that are virtually identical to the VC files but produced with Intel speed. The following example demonstrates this:
CODE
D:\testdir>lame --preset standard 10.wav 10.mp3
LAME version 3.90.3 MMX (http://www.mp3dev.org/)
CPU features: i387, MMX (ASM used), 3DNow!, SIMD
Using polyphase lowpass filter, transition band: 18671 Hz - 19205 Hz
Encoding 10.wav to 10.mp3
Encoding as 44.1 kHz VBR(q=2) j-stereo MPEG-1 Layer III (ca. 7.3x) qval=2
Frame | CPU time/estim | REAL time/estim | play/CPU | ETA
9781/9784 (100%)| 0:45/ 0:45| 0:45/ 0:45| 5.5733x| 0:00
32 [ 1] *
128 [ 88] %*
160 [1860] %%%%%%%%%%%%%%%%%%%***********
192 [4102] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*******************
224 [1562] %%%%%%%%%%%%%%%%**********
256 [ 827] %%%%%%%%******
320 [1344] %%%%%%%%%%%%%%%*******
average: 213.4 kbps LR: 6411 (65.53%) MS: 3373 (34.47%)
Writing LAME Tag...done
D:\testdir>lamevc --preset standard 10.wav 10.mp3
LAME version 3.90.3 MMX (http://www.mp3dev.org/)
CPU features: i387, MMX (ASM used), 3DNow!, SIMD
Using polyphase lowpass filter, transition band: 18671 Hz - 19205 Hz
Encoding 10.wav to 10.mp3
Encoding as 44.1 kHz VBR(q=2) j-stereo MPEG-1 Layer III (ca. 7.3x) qval=2
Frame | CPU time/estim | REAL time/estim | play/CPU | ETA
9781/9784 (100%)| 0:59/ 0:59| 0:59/ 0:59| 4.3043x| 0:00
32 [ 1] *
128 [ 88] %*
160 [1862] %%%%%%%%%%%%%%%%%%%***********
192 [4099] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*******************
224 [1562] %%%%%%%%%%%%%%%%**********
256 [ 828] %%%%%%%%******
320 [1344] %%%%%%%%%%%%%%%*******
average: 213.4 kbps LR: 6411 (65.53%) MS: 3373 (34.47%)
Writing LAME Tag...done
D:\testdir>
The compile made available above is not to be posted at Rarewares for general consumption, but does provide a faster alternative for those who would otherwise be using a MSVC compile.