diff options
| author | Richard-Qin-X <richard.qin.001@gmail.com> | 2026-08-19 02:59:49 +0800 |
|---|---|---|
| committer | Richard-Qin-X <richard.qin.001@gmail.com> | 2026-08-19 02:59:49 +0800 |
| commit | 0461d2ba6bf1aedbd0d39e5da4daf90137bf61a7 (patch) | |
| tree | 650bf61dba401fd4200f108cb99c80183724402b /backend/lib/Target/RISCV/RISCVGISelInteger.rccdesc | |
| parent | 6c97d54954112be9a5badacaec8efa1d05bd7d15 (diff) | |
| download | rcc-project-0461d2ba6bf1aedbd0d39e5da4daf90137bf61a7.tar.gz rcc-project-0461d2ba6bf1aedbd0d39e5da4daf90137bf61a7.tar.xz | |
[RISCV][GlobalISel] Generate select instruction matching
Diffstat (limited to 'backend/lib/Target/RISCV/RISCVGISelInteger.rccdesc')
| -rw-r--r-- | backend/lib/Target/RISCV/RISCVGISelInteger.rccdesc | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/backend/lib/Target/RISCV/RISCVGISelInteger.rccdesc b/backend/lib/Target/RISCV/RISCVGISelInteger.rccdesc index f40e5d4..d217460 100644 --- a/backend/lib/Target/RISCV/RISCVGISelInteger.rccdesc +++ b/backend/lib/Target/RISCV/RISCVGISelInteger.rccdesc @@ -914,6 +914,27 @@ selection_rules: - { immediate: 1 } erase_operand_definitions: [3] - + id: select_g_select_gpr + priority: 100 + match: + opcode: G_SELECT + operand_banks: + - { index: 0, bank: GPR } + - { index: 1, bank: GPR } + - { index: 2, bank: GPR } + - { index: 3, bank: GPR } + apply: + instructions: + - opcode: Select_GPR_Using_CC_GPR + root: true + operands: + - { operand: 0 } + - { complex: select_condition_lhs, operand: 1 } + - { complex: select_condition_rhs, operand: 1 } + - { complex: select_condition_code, operand: 1 } + - { operand: 2 } + - { operand: 3 } + - id: select_g_icmp_sgt_immediate priority: 400 match: |
