Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[perl #37461] [TODO] handle ARM mixed-endian doubles

2 views
Skip to first unread message

Leopold Toetsch

unread,
Oct 17, 2005, 3:48:32 PM10/17/05
to bugs-bi...@rt.perl.org
# New Ticket Created by Leopold Toetsch
# Please include the string: [perl #37461]
# in the subject line of all future correspondence about this issue.
# <URL: https://rt.perl.org/rt3/Ticket/Display.html?id=37461 >


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.

See also: src/packf*.c, pf/pf_items.c, t/native_pbc/number.t ...

Takers welcome,
leo

Nicholas Clark

unread,
Oct 17, 2005, 4:32:09 PM10/17/05
to perl6-i...@perl.org
On Mon, Oct 17, 2005 at 12:48:32PM -0700, Leopold Toetsch wrote:

> 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 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.

Nicholas Clark

0 new messages