One of the major points to C++ is portability, and the second you include an _asm block, it becomes locked down to the x86 architecture, and as cilu said, the 64-bit version of MSVC does not support inline asm. You should instead stick to intrinsics.