[meta] Port Instruction/InstructionGroup to the Rust meta crate;

This commit is contained in:
Benjamin Bouvier
2019-03-11 19:36:45 +01:00
parent 208c4e6da6
commit 3c31eac48c
11 changed files with 763 additions and 24 deletions

View File

@@ -1,5 +1,5 @@
use crate::cdsl::isa::TargetIsa;
use crate::cdsl::settings::SettingGroup;
use crate::shared::Definitions as SharedDefinitions;
use std::fmt;
mod arm32;
@@ -55,13 +55,13 @@ impl fmt::Display for Isa {
}
}
pub fn define(isas: &Vec<Isa>, shared_settings: &SettingGroup) -> Vec<TargetIsa> {
pub fn define(isas: &Vec<Isa>, shared_defs: &mut SharedDefinitions) -> Vec<TargetIsa> {
isas.iter()
.map(|isa| match isa {
Isa::Riscv => riscv::define(shared_settings),
Isa::X86 => x86::define(shared_settings),
Isa::Arm32 => arm32::define(shared_settings),
Isa::Arm64 => arm64::define(shared_settings),
Isa::Riscv => riscv::define(shared_defs),
Isa::X86 => x86::define(shared_defs),
Isa::Arm32 => arm32::define(shared_defs),
Isa::Arm64 => arm64::define(shared_defs),
})
.collect()
}