Skip to content

Commit 042281e

Browse files
Jim Wilsonaswaterman
authored andcommitted
Make x16-x31 and f0-f31 temporary registers in the RV32E ABI. (#80)
1 parent d3f1009 commit 042281e

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

riscv-elf.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -219,15 +219,15 @@ provided they hold values no more than FLEN bits wide.
219219

220220
## <a name=rv32e-calling-convention></a> RV32E Calling Convention
221221

222-
The RV32E calling convention is the same as the integer calling convention,
222+
The RV32E calling convention is designed to be usable with the RV32E ISA.
223+
This calling convention is the same as the integer calling convention,
223224
except for the following differences. The stack pointer need only be aligned
224225
to a 32-bit boundary. Registers x16-x31 do not participate in the ABI, so
225226
there are only six argument registers, a0-a5, only two callee-saved registers,
226227
s0-s1, and only three temporaries, t0-t2.
227228

228-
The RV32E calling convention may only be used with the RV32E ISA, hence the
229-
role of registers x16-x31 and f0-f31 is not defined. A future version of this
230-
specification may relax this constraint.
229+
If used with an ISA that has any of the registers x16-x31 and f0-f31, then
230+
these registers are considered temporaries.
231231

232232
## <a name=default-abis-and-c-type-sizes></a> Default ABIs and C type sizes
233233

0 commit comments

Comments
 (0)