aboutsummaryrefslogtreecommitdiff
path: root/backend/lib/Target/RISCV/RISCV.rccdesc
diff options
context:
space:
mode:
authorRichard-Qin-X <richard.qin.001@gmail.com>2026-08-11 20:26:56 +0800
committerRichard-Qin-X <richard.qin.001@gmail.com>2026-08-11 20:26:56 +0800
commit38626ed37c9ea78c76c12dae4806b750881fd910 (patch)
treef838b8c3b79ec1458d3370411e3b32e892ba02ca /backend/lib/Target/RISCV/RISCV.rccdesc
parentcd2e88b9618ba7c2f6fcfac901e81f4a302a34c9 (diff)
downloadrcc-project-38626ed37c9ea78c76c12dae4806b750881fd910.tar.gz
rcc-project-38626ed37c9ea78c76c12dae4806b750881fd910.tar.xz
[RISCV] Add LP64 calling-convention facts
Diffstat (limited to 'backend/lib/Target/RISCV/RISCV.rccdesc')
-rw-r--r--backend/lib/Target/RISCV/RISCV.rccdesc19
1 files changed, 19 insertions, 0 deletions
diff --git a/backend/lib/Target/RISCV/RISCV.rccdesc b/backend/lib/Target/RISCV/RISCV.rccdesc
index ad79073..93c94b4 100644
--- a/backend/lib/Target/RISCV/RISCV.rccdesc
+++ b/backend/lib/Target/RISCV/RISCV.rccdesc
@@ -238,6 +238,9 @@ register_classes:
register_masks:
-
+ name: CSR_ILP32_LP64
+ preserved: [X1, X8, X9, X18, X19, X20, X21, X22, X23, X24, X25, X26, X27]
+ -
name: CSR_ILP32D_LP64D
preserved: [X1, X8, X9, X18, X19, X20, X21, X22, X23, X24, X25, X26, X27, F8, F9, F18, F19, F20, F21, F22, F23, F24, F25, F26, F27]
@@ -253,6 +256,22 @@ mir_operand_flags:
calling_conventions:
-
+ id: 2
+ symbol: LP64
+ name: lp64
+ integer_register_class: GPR
+ floating_register_class: FPR64
+ integer_argument_registers: [X10, X11, X12, X13, X14, X15, X16, X17]
+ floating_argument_registers: []
+ integer_return_registers: [X10, X11]
+ floating_return_registers: []
+ preserved_mask: CSR_ILP32_LP64
+ stack_alignment_bytes: 16
+ stack_argument_alignment_bytes: 16
+ shadow_space_bytes: 0
+ supports_varargs: true
+ supports_tail_calls: true
+ -
id: 1
symbol: LP64D
name: lp64d