Index: llvm/trunk/lib/Target/RISCV/RISCVRegisterInfo.td =================================================================== --- llvm/trunk/lib/Target/RISCV/RISCVRegisterInfo.td +++ llvm/trunk/lib/Target/RISCV/RISCVRegisterInfo.td @@ -55,7 +55,7 @@ def X6 : RISCVReg<6, "x6", ["t1"]>, DwarfRegNum<[6]>; def X7 : RISCVReg<7, "x7", ["t2"]>, DwarfRegNum<[7]>; } - def X8 : RISCVReg<8, "x8", ["s0"]>, DwarfRegNum<[8]>; + def X8 : RISCVReg<8, "x8", ["s0", "fp"]>, DwarfRegNum<[8]>; def X9 : RISCVReg<9, "x9", ["s1"]>, DwarfRegNum<[9]>; def X10 : RISCVReg<10,"x10", ["a0"]>, DwarfRegNum<[10]>; def X11 : RISCVReg<11,"x11", ["a1"]>, DwarfRegNum<[11]>; Index: llvm/trunk/test/MC/RISCV/rvi-alternate-abi-names.s =================================================================== --- llvm/trunk/test/MC/RISCV/rvi-alternate-abi-names.s +++ llvm/trunk/test/MC/RISCV/rvi-alternate-abi-names.s @@ -0,0 +1,16 @@ +# RUN: llvm-mc %s -triple=riscv32 \ +# RUN: | FileCheck %s +# RUN: llvm-mc %s -triple=riscv64 \ +# RUN: | FileCheck %s +# RUN: llvm-mc -filetype=obj -triple riscv32 < %s \ +# RUN: | llvm-objdump -d -r - \ +# RUN: | FileCheck %s +# RUN: llvm-mc -filetype=obj -triple riscv64 < %s \ +# RUN: | llvm-objdump -d -r - \ +# RUN: | FileCheck %s + +# 'fp' is an alternate ABI name for 's0' and it should be accepted in input. +# However, 's0' should be printed in preference. + +# CHECK: addi s0, s0, -4 +addi fp, fp, -4