summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
Diffstat (limited to 'llvm')
-rw-r--r--llvm/lib/Target/RISCV/RISCVRegisterInfo.td2
-rw-r--r--llvm/test/MC/RISCV/rvi-alternate-abi-names.s16
2 files changed, 17 insertions, 1 deletions
diff --git a/llvm/lib/Target/RISCV/RISCVRegisterInfo.td b/llvm/lib/Target/RISCV/RISCVRegisterInfo.td
index 9f6c0908138..79f8ab12f6c 100644
--- a/llvm/lib/Target/RISCV/RISCVRegisterInfo.td
+++ b/llvm/lib/Target/RISCV/RISCVRegisterInfo.td
@@ -55,7 +55,7 @@ let RegAltNameIndices = [ABIRegAltName] in {
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]>;
diff --git a/llvm/test/MC/RISCV/rvi-alternate-abi-names.s b/llvm/test/MC/RISCV/rvi-alternate-abi-names.s
new file mode 100644
index 00000000000..04ce18f1d20
--- /dev/null
+++ b/llvm/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
OpenPOWER on IntegriCloud