SSSE3 intrinsics compilation error on x64 VC++ 2005 platform
Dear All, I have been working on Win32 applicationsusing Intel Intrinsics for optimization for past few months. Recently, I tried to migrate my SSSE3 code from x86 windows to x64 Windows. But, on compiling the SSSE3 code on x64Solution platform in VC++ 2005 over Windows Vista Ultimate in Release mode, I am getting errors like :-
1) fatal error C1001: An internal error has occurred in the compiler. (compiler file 'f:\rtm\vctools\compiler\utc\src\P2\amd64\cgintrin.c', line 708) To work around this problem, try simplifying or changing the program near the locations listed above. Please choose the Technical Support command on the Visual C++ Help menu, or open the Technical Support help file for more information LINK : fatal error LNK1257: code generation failed
2) error C2039: 'm128i_i16' : is not a member of '__m128i'
When I compile in Debug mode to get x64 build, I get only the first error and the second is not encountered.
Please suggest the work around for this migration to x64 from 32-bit windows of Intrinsics. Is it a bug of Visual Studio otherwise. Any suggestions and hints are welcome.
Their optimizer is a lot better than anything with sse intrinsics, but crashes frequently and the x64 code is even more buggy. Despite the numerous bug reports I made on connect (see my latest for a laugh) there was _apparently_ no change in the compiler between 2008 and 2010 CTP, in a 800 kLOC asm output everything stayed exactly the same. But since you are using 2005, there is a chance your error has already been fixed in newer versions. No idea about No.2, microsoft headers declare __m128i as a struct, having that member.