Boost logo

Boost :

Subject: Re: [boost] [Endian] library proposal
From: David Stone (david_at_[hidden])
Date: 2012-04-03 15:36:56


According to a message I received, the ARM CPU uses little-endian 32-bit
integers, and 64-bit integers are created by combining two little-endian
integers in big-endian order, which by my calculations gives us a byte order of
DCBAHGFE. I actually defined PDP-endian to do this byte ordering for 64-bit
words simply because I couldn't forbid it due to dynamic byte ordering concerns.
This page:
http://infocenter.arm.com/help/topic/com.arm.doc.ddi0278b/Cegbbbab.html
suggests that the ARM can actually switch between big-endian, little-endian, and
middle-endian!

However, this brings up a concern of the best way to name things. The PDP-11
didn't have 64-bit integers (unless there's some extension somewhere that I'm
not aware of), so calling this PDP-endian is really a misnomer for 64-bit
integers. The ARM processor is either big-endian or little-endian for 32-bit
access, so it can't even be generalized to some middle-endian version, I would
need something like PDP-endian and ARM-endian.

I'm assuming that all multi-endian (the term bi-endian doesn't apply to the ARM,
which appears to have three endian modes) processors require dynamic endian
determination.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk