Skip to content

Commit b6a9ce2

Browse files
committed
Separate big-endian chunk ordering and add experimental note
- Clarify that little-endian chunk ordering is specified explicitly - Move big-endian behavior to a separate NOTE section - Document that big-endian ABI is experimental and may change
1 parent 9664c16 commit b6a9ce2

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

riscv-cc.adoc

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -668,9 +668,13 @@ 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. Chunks are always stored in memory with
672-
lower-addressed chunks containing less significant bits, regardless of the
673-
system endianness.
671+
the standard scalar endianness rules. On little-endian systems, chunks are
672+
stored in memory with lower-addressed chunks containing less significant bits.
673+
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.
674678

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

0 commit comments

Comments
 (0)