Am optimizing my code application using Intel SSE intrinsic. It works fine with Intel compiler for 64-bit and 32-bit in MSVC 2008 IDE.
The same applications behaving differently with MSVC compiler for 32/64- bit run. I would like to know is there any limitation for MSVC 2008 IDE with respect to Intel SSE intrinsics( Am using upto SSE4.2).
VS 2008 suppotrs SSE 4.2 and there shouldn't be a difference.between the two in support of intrinsics, but there are obviously differences in the optimizers, which might have surprising side-effects. Which instructions are you using in your code?
Am Using all the Integer Arithmetic instructions like Addition, Subtractions, Multiplication, Shifting. Zero and Sign extended Packing and Saturation unpacking instructions. I also heard that MSVC 2008 compiler won't support some SSE instructions which are fixed in MSVC 2010.
I don't think the Intel compiler can be counted on for SSE4 intrinsics unless the corresponding /arch: or /QxHost is set. When that is done, some SSE or SSE2 intrinsics will be optimized by ICL to SSE4 equivalents, which Microsoft will not do.
I wouldn't be surprised to see differences in register optimization between MSVC and ICL. DIfferences such as Thomas and I mentioned ought to be visible in the .asm code.
You would certainly want to have applied all service packs for your version of Visual Studio.
I don't know what you mean by 32/64-.