Floating point precision

Started by
1 comment, last by Climax777 16 years, 2 months ago
Hi I know how to change the precision part of the control word of the FPU( there's more than one way) in x86 architecture. Either using __asm fldcw or __control87. But I read in MSDN's library and observed that it cannot be set in x64 bit architecture. Is there a way to set the precision in a 64-bit application? Thanx!
Advertisement
Even when ASM programmers could old x86 architecture programmers should use SSE2 registers for floating point computations. AMD even specifically said an emulation of old architecture could disappear without further notice. So don't use it.

IIRC either larebee, or little further CPU will reroute FPU calls into SSE2 registers even in 32 bit mode. You are talking not only about outdated technology, you are talking about technology that would be eradicated.

Not only there are no (non SSE2) FPU registers in 64 bit mode, they wanna get rid of that outdated (and wrong) methodology.

Why do you ask?
Quote:Original post by Raghar
Even when ASM programmers could old x86 architecture programmers should use SSE2 registers for floating point computations. AMD even specifically said an emulation of old architecture could disappear without further notice. So don't use it.

IIRC either larebee, or little further CPU will reroute FPU calls into SSE2 registers even in 32 bit mode. You are talking not only about outdated technology, you are talking about technology that would be eradicated.

Not only there are no (non SSE2) FPU registers in 64 bit mode, they wanna get rid of that outdated (and wrong) methodology.

Why do you ask?


The reason I ask: I want to do intense and precise floating point operations (extended double precision mode) while building in 64-bit mode. And currently I am forced to use the standard double precision (53 bit floating point), unless I build in X86 mode and force the FPU to do otherwise (__control87 or __asm fldcw).

This topic is closed to new replies.

Advertisement