Why does not Visual C++ support the inline assembler for Intel 64 and IA-64 anymore?
Giving up the support of the inline assembler code (through the key word __asm) when compiling applications for the 64-bit platforms Intel 64 and IA-64 is most probably related to the wish of the Microsoft company to simplify the optimizer's work and development of new versions of the compiler for Visual C++. Inline assembler code limits portability of software being developed while optimization by its means is rarely reasonable nowadays since the compiler creates rather efficient code most times.
When the functionality you need cannot be implemented by means of the C++ code, use intrinsic functions to replace assembler fragments or link external asm-files to the project.
- Discussion at Stackoverflow.com. Why does MSVC not support inline assembly for AMD64 and Itanium targets?
- MSDN Library. Inline Assembler.
- Discussion at www.pcreview.co.uk. No Inline-Assembly for x64 Builds?