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.=========================
I believe Dibrom when he says he heard a sample that was better with ICL than mitioks
Surely if the original author of the code was looking for rounding to nearest
Originally posted by olcios ...Dibrom's (current, 2002-01-24) compile...
Originally posted by john33 ...Dibrom's 3.90.2 became 3.91. In other words, they're the same thing.
Originally posted by Dibrom 2. I will be providing a 3.91 compile in the future, just not sure when yet. I need to reinstall and setup my C development stuff for this.
Originally posted by Delirium Just to make sure, until you release your compiles is it okay to use Mitiok's 3.91 compile? Is there anything problematic with his compiles, or is it just that they're a few percent slower than the ones you had been making?
[comparing MSVC and 'modified' ICL]I do know that the files are not always bit identical, but they are usually within a 1kbps or so of eachother.
So it is possible that the ICL compile even with this modification could still sound better, I'm not really sure.
What I suggest to Olcios is that if you have a very high interest in seeing this happen, that you instead ask others to come here and try to work with me for a change instead of the other way around.
Originally posted by olcios Does anyone have any idea what causes this difference? In other words: there must be another switch in ICL which is default for this compiler and is not ANSI. What is it?
I wonder in which part of the code the float->int conversions occur...how to find them? Maybe it is possible to turn on warnings whenever they occur and localize them that way?
Originally posted by fewtch Any progress in the past month on a newer compile, Dibrom?
I'm not pushing BTW, just curious... please take your time, the current 3.91 is working just fine here (and the improvements are appreciated).
Originally posted by kjempen If my memory serves me right there's a new nspsytune in the LAME alphas, will this be utilized in your new tunings? Or is the new nspsytune considered too experimental?