Hi all, I have a question about the loop versioning in the Intel compiler. Well, i compiled the SPEC 2006 with ICC -g3 and for one of the codes (the bwaves code to be more specific) there where a loop versioning and the generated code was :
So two strange line where there the : 40480f a nop 40487d a mov %rsi,%rsi
so the jump to the second version of the loop is done to the 404880 and not the mov instr 40487d !. So, i would like to know why these two instructions were generated and why the second one is a mov and not a nop ?