Sign in to follow this  
Climax777

Floating point precision

Recommended Posts

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!

Share this post


Link to post
Share on other sites
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?

Share this post


Link to post
Share on other sites
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).

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this