[meta] Introduce the InstructionGroupBuilder;
This follows the rest of the code base data structures, where we have a mutable data structure builder; once the data structure is constructed, it's immutable. This also makes the definition of instructions easier, and it paves the way for defining immediate variants.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
use crate::cdsl::cpu_modes::CpuMode;
|
||||
use crate::cdsl::instructions::InstructionGroup;
|
||||
use crate::cdsl::instructions::InstructionGroupBuilder;
|
||||
use crate::cdsl::isa::TargetIsa;
|
||||
use crate::cdsl::regs::{IsaRegs, IsaRegsBuilder, RegBankBuilder, RegClassBuilder};
|
||||
use crate::cdsl::settings::{SettingGroup, SettingGroupBuilder};
|
||||
@@ -48,7 +48,12 @@ pub fn define(shared_defs: &mut SharedDefinitions) -> TargetIsa {
|
||||
let settings = define_settings(&shared_defs.settings);
|
||||
let regs = define_registers();
|
||||
|
||||
let inst_group = InstructionGroup::new("arm64", "arm64 specific instruction set");
|
||||
let inst_group = InstructionGroupBuilder::new(
|
||||
"arm64",
|
||||
"arm64 specific instruction set",
|
||||
&shared_defs.format_registry,
|
||||
)
|
||||
.finish();
|
||||
|
||||
let mut a64 = CpuMode::new("A64");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user