wrote:
“Well, I was in desperate need for 80-bit long doubles. Now I coded this type as set of asm inlines and application prototype shipped in such form. But the production version will be done for amd64, in 64-bit mode for performance reasons, and VS 2005 will not have inline assembler. This means rewriting some code again. “
Because VC++ in VS2005 doesn't allow for inline assembly when targeting amd64, you'll have to rewrite the inline assembly routines as pure assembly and then call them from C++. However, inline assembly is still permitted when targeting the x86 architecture.
I'm no amd64 expert by any means, but I'm told that using x87 80bit registers might not work because the current version of the OS for amd64 doesn't save the x87 FPU state when context switching; this is one of several reasons why the C++ compiler targets SSE instructions instead of x87 instructions. I have heard, but don't quote me on this, that future drops of the amd64 Windows OS will save the x87 FPU state.
Perhaps someone reading this post could shed a brighter light on the issue.