id	summary	reporter	owner	description	type	status	priority	milestone	component	version	severity	resolution	keywords	cc	lang	patch	platform
1251	handle ARM mixed-endian doubles	jkeenan		"This ticket moves discussion into Trac from [http://rt.perl.org/rt3/Ticket/Display.html?id=37461 RT #37461].

Leopold Toetsch opened the ticket in October 2005:

Parrot bytecode (PBC) is designed to be portable. Therefore we need
some code to convert ARM-generated PBCs to machine-native doubles and
ARM architectures must be able to read other already supported float
types.

A PBC header has a 'floattype' field, which identifies known FLOATVAL
layouts.

We have currently:

0 ... 8 byte IEEE double
1 ... 12 byte IEEE double (both according to endianess)

We need additionally (at least and AFAIK):

2 ... 8 byte (ARM) mixed-endian

which is according to Nicholas a LE double with 2 BE arranged words.

And Nicholas Clark commented:

and totally legal IEEE.

(Mozilla thought that it could cheat. And it was wrong)

The mixed endian is the old soft float, as I understand it, and will be
replaced by something less surprising, but that's a C ABI change.

... and that's where things stand."	todo	new	normal		core	1.7.0	medium						
