[meta] Recipes and encodings descriptions for x86;

This commit is contained in:
Benjamin Bouvier
2019-06-24 16:47:18 +02:00
parent ca277422bb
commit fd03677292
3 changed files with 4385 additions and 6 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1,15 +1,15 @@
use crate::cdsl::cpu_modes::CpuMode;
use crate::cdsl::instructions::InstructionPredicateMap;
use crate::cdsl::isa::TargetIsa;
use crate::cdsl::recipes::Recipes;
use crate::shared::types::Bool::B1;
use crate::shared::types::Float::{F32, F64};
use crate::shared::types::Int::{I16, I32, I64, I8};
use crate::shared::Definitions as SharedDefinitions;
mod encodings;
mod instructions;
mod legalize;
mod recipes;
mod registers;
mod settings;
@@ -51,12 +51,17 @@ pub fn define(shared_defs: &mut SharedDefinitions) -> TargetIsa {
x86_64.legalize_type(F32, x86_expand);
x86_64.legalize_type(F64, x86_expand);
let recipes = recipes::define(shared_defs, &settings, &regs);
let encodings = encodings::define(shared_defs, &settings, &inst_group, &recipes);
x86_32.set_encodings(encodings.enc32);
x86_64.set_encodings(encodings.enc64);
let encodings_predicates = encodings.inst_pred_reg.extract();
let recipes = encodings.recipes;
let cpu_modes = vec![x86_64, x86_32];
let recipes = Recipes::new();
let encodings_predicates = InstructionPredicateMap::new();
TargetIsa::new(
"x86",
inst_group,

File diff suppressed because it is too large Load Diff