aboutsummaryrefslogtreecommitdiff
path: root/backend/lib/Target/RISCV/RISCVInstrInfoZcmp.rccdesc
diff options
context:
space:
mode:
authorRichard-Qin-X <richard.qin.001@gmail.com>2026-08-28 19:15:07 +0800
committerRichard-Qin-X <richard.qin.001@gmail.com>2026-08-28 19:15:07 +0800
commitb1c08d57f1637f5ee813d1409dacdfa88c1509a0 (patch)
treed1c8d3f9ba3da70628e356dcd97f878ea7124b62 /backend/lib/Target/RISCV/RISCVInstrInfoZcmp.rccdesc
parentf89d528efc0228c049c2867dcba886a56bac8619 (diff)
downloadrcc-project-b1c08d57f1637f5ee813d1409dacdfa88c1509a0.tar.gz
rcc-project-b1c08d57f1637f5ee813d1409dacdfa88c1509a0.tar.xz
[RISCV] Generate complete Zcmp instruction definitions
Diffstat (limited to 'backend/lib/Target/RISCV/RISCVInstrInfoZcmp.rccdesc')
-rw-r--r--backend/lib/Target/RISCV/RISCVInstrInfoZcmp.rccdesc101
1 files changed, 101 insertions, 0 deletions
diff --git a/backend/lib/Target/RISCV/RISCVInstrInfoZcmp.rccdesc b/backend/lib/Target/RISCV/RISCVInstrInfoZcmp.rccdesc
new file mode 100644
index 0000000..eb0f822
--- /dev/null
+++ b/backend/lib/Target/RISCV/RISCVInstrInfoZcmp.rccdesc
@@ -0,0 +1,101 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+instructions:
+ -
+ id: 1270
+ symbol: CM_MVA01S
+ name: CM_MVA01S
+ assembly_mnemonic: cm.mva01s
+ encoding: 44130
+ operands:
+ - { kinds: [register], role: use, register_class: SR07, register_bank: GPR, name: RS1 }
+ - { kinds: [register], role: use, register_class: SR07, register_bank: GPR, name: RS2 }
+ num_explicit_defs: 0
+ flags: [produces_code]
+ implicit_defs: [{ register: X10 }, { register: X11 }]
+ scheduling_class: COMPRESSED
+ encoding_category: ZCMP_MOVE
+ assembly_format: RD_RS2
+ -
+ id: 1271
+ symbol: CM_MVSA01
+ name: CM_MVSA01
+ assembly_mnemonic: cm.mvsa01
+ encoding: 44066
+ operands:
+ - { kinds: [register], role: def, register_class: SR07, register_bank: GPR, name: RD }
+ - { kinds: [register], role: def, register_class: SR07, register_bank: GPR, name: RS2 }
+ num_explicit_defs: 2
+ flags: [produces_code]
+ implicit_uses: [{ register: X10 }, { register: X11 }]
+ scheduling_class: COMPRESSED
+ encoding_category: ZCMP_MOVE
+ assembly_format: RD_RS2
+ -
+ id: 1272
+ symbol: CM_PUSH
+ name: CM_PUSH
+ assembly_mnemonic: cm.push
+ encoding: 47106
+ operands:
+ - { kinds: [immediate], immediate_predicate: ZCMP_RLIST, name: RLIST }
+ - { kinds: [immediate], immediate_predicate: ZCMP_STACKADJ, name: STACKADJ }
+ num_explicit_defs: 0
+ allow_extra_implicit_operands: true
+ flags: [may_store, produces_code]
+ implicit_defs: [{ register: X2 }]
+ implicit_uses: [{ register: X2 }]
+ scheduling_class: STORE
+ encoding_category: ZCMP_STACK
+ assembly_format: RLIST_STACKADJ
+ -
+ id: 1273
+ symbol: CM_POPRET
+ name: CM_POPRET
+ assembly_mnemonic: cm.popret
+ encoding: 48642
+ operands:
+ - { kinds: [immediate], immediate_predicate: ZCMP_RLIST, name: RLIST }
+ - { kinds: [immediate], immediate_predicate: ZCMP_STACKADJ, name: STACKADJ }
+ num_explicit_defs: 0
+ allow_extra_implicit_operands: true
+ flags: [terminator, return, barrier, may_load, produces_code]
+ implicit_defs: [{ register: X2 }]
+ implicit_uses: [{ register: X2 }]
+ scheduling_class: LOAD
+ encoding_category: ZCMP_STACK
+ assembly_format: RLIST_STACKADJ
+ -
+ id: 1274
+ symbol: CM_POPRETZ
+ name: CM_POPRETZ
+ assembly_mnemonic: cm.popretz
+ encoding: 48130
+ operands:
+ - { kinds: [immediate], immediate_predicate: ZCMP_RLIST, name: RLIST }
+ - { kinds: [immediate], immediate_predicate: ZCMP_STACKADJ, name: STACKADJ }
+ num_explicit_defs: 0
+ allow_extra_implicit_operands: true
+ flags: [terminator, return, barrier, may_load, produces_code]
+ implicit_defs: [{ register: X2 }, { register: X10 }]
+ implicit_uses: [{ register: X2 }]
+ scheduling_class: LOAD
+ encoding_category: ZCMP_STACK
+ assembly_format: RLIST_STACKADJ
+ -
+ id: 1275
+ symbol: CM_POP
+ name: CM_POP
+ assembly_mnemonic: cm.pop
+ encoding: 47618
+ operands:
+ - { kinds: [immediate], immediate_predicate: ZCMP_RLIST, name: RLIST }
+ - { kinds: [immediate], immediate_predicate: ZCMP_STACKADJ, name: STACKADJ }
+ num_explicit_defs: 0
+ allow_extra_implicit_operands: true
+ flags: [may_load, produces_code]
+ implicit_defs: [{ register: X2 }]
+ implicit_uses: [{ register: X2 }]
+ scheduling_class: LOAD
+ encoding_category: ZCMP_STACK
+ assembly_format: RLIST_STACKADJ