Hi all,I got a TSVC benchmark fromhttp://polaris.cs.uiuc.edu/ maleki1/TSVC.tar.gzIt is used to evaluate the vectorization of compilers. I am trying to test icc with it.I changed the makefile to use icc and I am trying to see the timing of it.The code is simple, there are 151 main functions, each of them has a typical loop and it's own initialization. Each of them prints out it's timing and a certain correctness checking result. main() function calls these 151 functions.I found something confusing happened for function s162(). In main() function, if I comment out all function calls behind s162(), then it's timing is 2.x sec on e5-2680; but if I do not comment them and just use the original code, it timing is 4 sec. This can be repeat and is not randomly happened.It doesnt matter whether I keep or comment those function calls before s162(). It is the point that confuse me since only later part after s162() matters.I compared the .s of these s162(), seems there no instruction related difference.(The correctness check result are the same for this two cases. )The platform I am using is:Chip: Xeon E5, 2680.OS: GNU/LinuxICC:icc (ICC) 12.1.3 20120212This also happens when I run it on Xeon 5660. Timing is 3.x and 6.x. The platform info is:Chip: Xeon 5660OS:GNU/LinuxICC:icc (ICC) 12.1.2 20111128Attachment is the original pakage and the makefiles I used for above two platforms.I wish get your precious advise on what the reason is. It looks like a silly question, but I hope I could learn from you and figure it out.Thank you for reading.Best Regards,Susan
For more complete information about compiler optimizations, see our Optimization Notice.