Skip to content

Commit 2403654

Browse files
committed
Make chunk ordering follow system endianness
- Chunk ordering now follows system endianness consistently - Little-endian: lower-addressed chunks contain less significant bits - Big-endian: lower-addressed chunks contain more significant bits - Retain note that big-endian ABI is experimental
1 parent b6a9ce2 commit 2403654

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

riscv-cc.adoc

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -668,13 +668,12 @@ arbitrary-sized integer type, where N is a postive integer larger than zero.
668668
`_BitInt(N)` types are stored in memory as follows:
669669
- For N ≤ 2×XLEN: Types follow the standard scalar endianness rules.
670670
- For N > 2×XLEN: Types are divided into 2×XLEN-bit chunks. Each chunk follows
671-
the standard scalar endianness rules. On little-endian systems, chunks are
672-
stored in memory with lower-addressed chunks containing less significant bits.
671+
the standard scalar endianness rules. The chunk ordering in memory follows
672+
the system endianness: on little-endian systems, lower-addressed chunks contain
673+
less significant bits; on big-endian systems, lower-addressed chunks contain
674+
more significant bits.
673675

674-
NOTE: For big-endian systems with N > 2×XLEN, chunks are currently also stored
675-
with lower-addressed chunks containing less significant bits (same as little-endian).
676-
However, the big-endian ABI is still experimental and this behavior may change
677-
in the future.
676+
NOTE: The big-endian ABI is still experimental and may change in the future.
678677

679678
Unused bits of the `_BitInt(N)` are extended based on the signedness of the
680679
type when stored in memory or register. For signed `_BitInt(N)`, unused bits

0 commit comments

Comments
 (0)