Forum > Windows

cross compile windows 32 to windows 64 extended floating point type gets double

(1/2) > >>

beepee:
The cross compiler
ppcrossx64 -Twin64
does revert the extended real type to double real type.
As far as I know, the extended type *is* available for 64 bits programs on Intel/AMD processors as it is available for 32 bits programs
Is this a known issue?

lucamar:
It's both known and on purpose. IIRC, it's a gimmick of how Windows itself either uses or sets up the processor (don't remember which) which makes it forego the use of extended in favor of some other feature (SSE? AVX? ???).

The point is that on Windows 64bit you can't use Extended (at least not easily) so by default it's aliased to Double.

beepee:
Thanks, and:
Ahh, just found out is the same at Delphi, see this link:
http://docwiki.embarcadero.com/RADStudio/Sydney/en/Delphi_Considerations_for_Multi-Device_Applications#The_Extended_Data_Type_Is_2_Bytes_Smaller_on_64-bit_Windows_Systems

However I am still not amused the type is not available for 64 bits programs

lucamar:

--- Quote from: beepee on December 25, 2020, 10:09:21 pm ---However I am still not amused the type is not available for 64 bits programs
--- End quote ---

Why? Do you a explicit, specific need for the 80 bit Extended? Note that Intel has always said that Extended was intended for intermediate, internal calculations and that it shouldn't be generally used unles strictely needed, so it "dissapearance" shouldn't come as a surprise.

Granted, it would be nicer if it were there when absolutely needed, but since it isn't ...

PascalDragon:

--- Quote from: beepee on December 25, 2020, 09:34:14 pm ---As far as I know, the extended type *is* available for 64 bits programs on Intel/AMD processors as it is available for 32 bits programs
Is this a known issue?

--- End quote ---

This is because Microsoft considers the 80-bit types as deprecated for Win64 and strongly suggests programs not to use it.

For any other x64 platform the 80-bit type is available. However it isn't available for any non-x86 platform anyway.

Navigation

[0] Message Index

[#] Next page

Go to full version