Comment had a typo. Fix it and clarify. gcc/ChangeLog:
2019-10-13 Dimitar Dimitrov <dimi...@dinux.eu> * config/pru/pru.h: Clarify R3/RA ABI. Signed-off-by: Dimitar Dimitrov <dimi...@dinux.eu> --- gcc/config/pru/pru.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gcc/config/pru/pru.h b/gcc/config/pru/pru.h index 15fb637dec6..f2bdd1ef02b 100644 --- a/gcc/config/pru/pru.h +++ b/gcc/config/pru/pru.h @@ -125,7 +125,8 @@ 1 r1 Caller Saved. Also used as a temporary by function. profiler and function prologue/epilogue. 2 r2 sp Stack Pointer. - 3* r3.w0 ra Return Address (16-bit). + 3* r3.w0 ABI does not specify if it is caller or callee saved. + 3* r3.w2 ra Return Address (16-bit). 4 r4 fp Frame Pointer, also called Argument Pointer in ABI. 5-13 r5-r13 Callee Saved Registers. 14-29 r14-r29 Register Arguments. Caller Saved Registers. @@ -148,6 +149,11 @@ of 8 bit sub-registers (e.g. RA starts at r12). When outputting assembly, GCC will take into account the RTL operand size (e.g. r12:HI) in order to translate to the conventional PRU ISA format expected by GAS (r3.w0). + + TI ISA documentation (SPRUHV7C) does not mark r3.w0 as neither + caller-saved nor callee-saved. So until TI clarifies, let's mark + it as fixed. + */ #define FIXED_REGISTERS \ -- 2.20.1