Register Definitions¶
Integer Registers¶
Register | ABI Name | Description | Saver |
---|---|---|---|
x0 | zero | Hard-wired zero | |
x1 | ra | Return address | Caller |
x2 | sp | Stack pointer | Callee |
x3 | gp | Global pointer | |
x4 | tp | Thread pointer | |
x5 | t0 | Temporary/alternate link register | Caller |
x6 | t1 | Temporaries | Caller |
x7 | t2 | Temporaries | Caller |
x8 | s0/fp | Saved register/frame pointer | Callee |
x9 | s1 | Saved register | Callee |
x10 | a0 | Function arguments/return values | Caller |
x11 | a1 | Function arguments/return values | Caller |
x12 | a2 | Function arguments | Caller |
x13 | a3 | Function arguments | Caller |
x14 | a4 | Function arguments | Caller |
x15 | a5 | Function arguments | Caller |
x16 | a6 | Function arguments | Caller |
x17 | a7 | Function arguments | Caller |
x18 | s2 | Saved registers | Callee |
x19 | s3 | Saved registers | Callee |
x20 | s4 | Saved registers | Callee |
x21 | s5 | Saved registers | Callee |
x22 | s6 | Saved registers | Callee |
x23 | s7 | Saved registers | Callee |
x24 | s8 | Saved registers | Callee |
x25 | s9 | Saved registers | Callee |
x26 | s10 | Saved registers | Callee |
x27 | s11 | Saved registers | Callee |
x28 | t3 | Temporaries | Caller |
x29 | t4 | Temporaries | Caller |
x30 | t5 | Temporaries | Caller |
x31 | t6 | Temporaries | Caller |
Floating Point Registers¶
Register | ABI Name | Description | Saver |
---|---|---|---|
f0 | ft0 | FP temporaries | Caller |
f1 | ft1 | FP temporaries | Caller |
f2 | ft2 | FP temporaries | Caller |
f3 | ft3 | FP temporaries | Caller |
f4 | ft4 | FP temporaries | Caller |
f5 | ft5 | FP temporaries | Caller |
f6 | ft6 | FP temporaries | Caller |
f7 | ft7 | FP temporaries | Caller |
f8 | fs0 | FP saved registers | Callee |
f9 | fs1 | FP saved registers | Callee |
f10 | fa0 | FP arguments/return values | Caller |
f11 | fa1 | FP arguments/return values | Caller |
f12 | fa2 | FP arguments | Caller |
f13 | fa3 | FP arguments | Caller |
f14 | fa4 | FP arguments | Caller |
f15 | fa5 | FP arguments | Caller |
f16 | fa6 | FP arguments | Caller |
f17 | fa7 | FP arguments | Caller |
f18 | fs2 | FP saved registers | Callee |
f19 | fs3 | FP saved registers | Callee |
f20 | fs4 | FP saved registers | Callee |
f21 | fs5 | FP saved registers | Callee |
f22 | fs6 | FP saved registers | Callee |
f23 | fs7 | FP saved registers | Callee |
f24 | fs8 | FP saved registers | Callee |
f25 | fs9 | FP saved registers | Callee |
f26 | fs10 | FP saved registers | Callee |
f27 | fs11 | FP saved registers | Callee |
f28 | ft8 | FP temporaries | Caller |
f29 | ft9 | FP temporaries | Caller |
f30 | ft10 | FP temporaries | Caller |
f31 | ft11 | FP temporaries | Caller |