next up previous contents
Next: Anatomy of a unit Up: Optimizations Previous: Tips to get faster

Floating point

This is where can be found processor specific information on Floating point code generated by the compiler.

Intel x86 specific

All normal floating point types map to their real type, including comp and extended.

Motorola 680x0 specific

Early generations of the Motorola 680x0 processors did not have integrated floating point units, so to circumvent this fact, all floating point operations are emulated (when the $E+ switch ,which is the default) using the IEEE Single floating point type. In other words when emulation is on, Real, Single, Double and Extended all map to the single floating point type.

When the $E switch is turned off, normal 68882/68881/68040 floating point opcodes are emitted. The Real type still maps to Single but the other types map to their true floating point types. Only basic FPU opcodes are used, which means that it can work on 68040 processors correctly.

Remark: Double and Extended types in true floating point mode have not been extensively tested as of version 0.99.5.

Remark: The comp data type is currently not supported.



Michael Van Canneyt
Thu Sep 10 14:04:11 CEST 1998