[meta] Recipes and encodings descriptions for x86;
This commit is contained in:
1569
cranelift/codegen/meta/src/isa/x86/encodings.rs
Normal file
1569
cranelift/codegen/meta/src/isa/x86/encodings.rs
Normal file
File diff suppressed because it is too large
Load Diff
@@ -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, ®s);
|
||||
|
||||
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,
|
||||
|
||||
2805
cranelift/codegen/meta/src/isa/x86/recipes.rs
Normal file
2805
cranelift/codegen/meta/src/isa/x86/recipes.rs
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user