[fpc-devel] Code generation oddity on SPARC Linux

Mark Morgan Lloyd markMLl.fpc-devel at telemetry.co.uk
Sat Aug 27 00:16:25 CEST 2011

Jonas Maebe wrote:

> The sparc only has single precision floating point registers. Double precision values are stored in two consecutive single precision registers, and hence arguments to double precision opcodes must always be even registers. The above demonstrates a bug in the register allocator. Please file a bug report.

Thanks Jonas, will do in the morning.

I've worked around it by noticing that I only need integer operations at 
that point- I'm transcribing Perl (MoonPhase.pm) based on C 
(moontool.c), and it's not the first instance of bad type handling that 
I've found.

Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]

More information about the fpc-devel mailing list