aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--backend/lib/Target/RISCV/RISCV.rccdesc163
-rw-r--r--backend/unittests/Target/RISCVTargetTest.cpp2
2 files changed, 164 insertions, 1 deletions
diff --git a/backend/lib/Target/RISCV/RISCV.rccdesc b/backend/lib/Target/RISCV/RISCV.rccdesc
index 5ef719b..9950b79 100644
--- a/backend/lib/Target/RISCV/RISCV.rccdesc
+++ b/backend/lib/Target/RISCV/RISCV.rccdesc
@@ -3342,6 +3342,169 @@ instructions:
owner: instruction_select
deadline: selected
-
+ id: 1230
+ symbol: G_SRAW
+ name: G_SRAW
+ operands:
+ - { kinds: [register], role: def }
+ - { kinds: [register], role: use }
+ - { kinds: [register], role: use }
+ num_explicit_defs: 1
+ flags: [generic, pseudo, allowed_pre_legalizer]
+ owner: instruction_select
+ deadline: selected
+ -
+ id: 1231
+ symbol: G_DIVW
+ name: G_DIVW
+ operands:
+ - { kinds: [register], role: def }
+ - { kinds: [register], role: use }
+ - { kinds: [register], role: use }
+ num_explicit_defs: 1
+ flags: [generic, pseudo, allowed_pre_legalizer]
+ owner: instruction_select
+ deadline: selected
+ -
+ id: 1232
+ symbol: G_CLZW
+ name: G_CLZW
+ operands:
+ - { kinds: [register], role: def }
+ - { kinds: [register], role: use }
+ num_explicit_defs: 1
+ flags: [generic, pseudo, allowed_pre_legalizer]
+ owner: instruction_select
+ deadline: selected
+ -
+ id: 1233
+ symbol: G_CTZW
+ name: G_CTZW
+ operands:
+ - { kinds: [register], role: def }
+ - { kinds: [register], role: use }
+ num_explicit_defs: 1
+ flags: [generic, pseudo, allowed_pre_legalizer]
+ owner: instruction_select
+ deadline: selected
+ -
+ id: 1234
+ symbol: G_FCVT_W_RV64
+ name: G_FCVT_W_RV64
+ operands:
+ - { kinds: [register], role: def }
+ - { kinds: [register], role: use }
+ - { kinds: [immediate] }
+ num_explicit_defs: 1
+ flags: [generic, pseudo, allowed_pre_legalizer]
+ owner: instruction_select
+ deadline: selected
+ -
+ id: 1235
+ symbol: G_FCLASS
+ name: G_FCLASS
+ operands:
+ - { kinds: [register], role: def }
+ - { kinds: [register], role: use }
+ num_explicit_defs: 1
+ flags: [generic, pseudo, allowed_pre_legalizer]
+ owner: instruction_select
+ deadline: selected
+ -
+ id: 1236
+ symbol: G_ROLW
+ name: G_ROLW
+ operands:
+ - { kinds: [register], role: def }
+ - { kinds: [register], role: use }
+ - { kinds: [register], role: use }
+ num_explicit_defs: 1
+ flags: [generic, pseudo, allowed_pre_legalizer]
+ owner: instruction_select
+ deadline: selected
+ -
+ id: 1237
+ symbol: G_SRLW
+ name: G_SRLW
+ operands:
+ - { kinds: [register], role: def }
+ - { kinds: [register], role: use }
+ - { kinds: [register], role: use }
+ num_explicit_defs: 1
+ flags: [generic, pseudo, allowed_pre_legalizer]
+ owner: instruction_select
+ deadline: selected
+ -
+ id: 1238
+ symbol: G_DIVUW
+ name: G_DIVUW
+ operands:
+ - { kinds: [register], role: def }
+ - { kinds: [register], role: use }
+ - { kinds: [register], role: use }
+ num_explicit_defs: 1
+ flags: [generic, pseudo, allowed_pre_legalizer]
+ owner: instruction_select
+ deadline: selected
+ -
+ id: 1239
+ symbol: G_REMUW
+ name: G_REMUW
+ operands:
+ - { kinds: [register], role: def }
+ - { kinds: [register], role: use }
+ - { kinds: [register], role: use }
+ num_explicit_defs: 1
+ flags: [generic, pseudo, allowed_pre_legalizer]
+ owner: instruction_select
+ deadline: selected
+ -
+ id: 1240
+ symbol: G_RORW
+ name: G_RORW
+ operands:
+ - { kinds: [register], role: def }
+ - { kinds: [register], role: use }
+ - { kinds: [register], role: use }
+ num_explicit_defs: 1
+ flags: [generic, pseudo, allowed_pre_legalizer]
+ owner: instruction_select
+ deadline: selected
+ -
+ id: 1241
+ symbol: G_BREV8
+ name: G_BREV8
+ operands:
+ - { kinds: [register], role: def }
+ - { kinds: [register], role: use }
+ num_explicit_defs: 1
+ flags: [generic, pseudo, allowed_pre_legalizer]
+ owner: instruction_select
+ deadline: selected
+ -
+ id: 1242
+ symbol: G_FCVT_WU_RV64
+ name: G_FCVT_WU_RV64
+ operands:
+ - { kinds: [register], role: def }
+ - { kinds: [register], role: use }
+ - { kinds: [immediate] }
+ num_explicit_defs: 1
+ flags: [generic, pseudo, allowed_pre_legalizer]
+ owner: instruction_select
+ deadline: selected
+ -
+ id: 1243
+ symbol: G_CLSW
+ name: G_CLSW
+ operands:
+ - { kinds: [register], role: def }
+ - { kinds: [register], role: use }
+ num_explicit_defs: 1
+ flags: [generic, pseudo, allowed_pre_legalizer]
+ owner: instruction_select
+ deadline: selected
+ -
id: 1216
symbol: PseudoCC_COPY
name: PseudoCC_COPY
diff --git a/backend/unittests/Target/RISCVTargetTest.cpp b/backend/unittests/Target/RISCVTargetTest.cpp
index 2077496..6fa3d40 100644
--- a/backend/unittests/Target/RISCVTargetTest.cpp
+++ b/backend/unittests/Target/RISCVTargetTest.cpp
@@ -149,7 +149,7 @@ void testABIAndDebugFacts(TestContext &Context) {
void testInstructionFacts(TestContext &Context) {
constexpr std::size_t TargetInstructionCount =
- static_cast<std::uint32_t>(rcc::riscv::InstructionOpcode::G_SLLW) -
+ static_cast<std::uint32_t>(rcc::riscv::InstructionOpcode::G_CLSW) -
static_cast<std::uint32_t>(rcc::riscv::InstructionOpcode::LUI) + 1U;
auto Target = rcc::riscv::createTargetDescription();
Context.expect(Target.has_value(), "RV64GC target description must be structurally valid");