[llvm] r355867 - [RISCV] Allow fp as an alias of s0

Alex Bradbury via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 11 14:35:27 PDT 2019


Author: asb
Date: Mon Mar 11 14:35:26 2019
New Revision: 355867

URL: http://llvm.org/viewvc/llvm-project?rev=355867&view=rev
Log:
[RISCV] Allow fp as an alias of s0

The RISC-V Assembly Programmer's Manual defines fp as another alias of x8.
However, our tablegen rules only recognise s0. This patch adds fp as another
alias of x8. GCC also accepts fp.

Differential Revision: https://reviews.llvm.org/D59209
Patch by Ferran Pallarès Roca.


Added:
    llvm/trunk/test/MC/RISCV/rvi-alternate-abi-names.s
Modified:
    llvm/trunk/lib/Target/RISCV/RISCVRegisterInfo.td

Modified: llvm/trunk/lib/Target/RISCV/RISCVRegisterInfo.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/RISCV/RISCVRegisterInfo.td?rev=355867&r1=355866&r2=355867&view=diff
==============================================================================
--- llvm/trunk/lib/Target/RISCV/RISCVRegisterInfo.td (original)
+++ llvm/trunk/lib/Target/RISCV/RISCVRegisterInfo.td Mon Mar 11 14:35:26 2019
@@ -55,7 +55,7 @@ let RegAltNameIndices = [ABIRegAltName]
   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]>;

Added: llvm/trunk/test/MC/RISCV/rvi-alternate-abi-names.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/RISCV/rvi-alternate-abi-names.s?rev=355867&view=auto
==============================================================================
--- llvm/trunk/test/MC/RISCV/rvi-alternate-abi-names.s (added)
+++ llvm/trunk/test/MC/RISCV/rvi-alternate-abi-names.s Mon Mar 11 14:35:26 2019
@@ -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




More information about the llvm-commits mailing list