[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::cpu_modes::CpuMode;
|
||||||
use crate::cdsl::instructions::InstructionPredicateMap;
|
|
||||||
use crate::cdsl::isa::TargetIsa;
|
use crate::cdsl::isa::TargetIsa;
|
||||||
use crate::cdsl::recipes::Recipes;
|
|
||||||
|
|
||||||
use crate::shared::types::Bool::B1;
|
use crate::shared::types::Bool::B1;
|
||||||
use crate::shared::types::Float::{F32, F64};
|
use crate::shared::types::Float::{F32, F64};
|
||||||
use crate::shared::types::Int::{I16, I32, I64, I8};
|
use crate::shared::types::Int::{I16, I32, I64, I8};
|
||||||
use crate::shared::Definitions as SharedDefinitions;
|
use crate::shared::Definitions as SharedDefinitions;
|
||||||
|
|
||||||
|
mod encodings;
|
||||||
mod instructions;
|
mod instructions;
|
||||||
mod legalize;
|
mod legalize;
|
||||||
|
mod recipes;
|
||||||
mod registers;
|
mod registers;
|
||||||
mod settings;
|
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(F32, x86_expand);
|
||||||
x86_64.legalize_type(F64, 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 cpu_modes = vec![x86_64, x86_32];
|
||||||
|
|
||||||
let recipes = Recipes::new();
|
|
||||||
|
|
||||||
let encodings_predicates = InstructionPredicateMap::new();
|
|
||||||
|
|
||||||
TargetIsa::new(
|
TargetIsa::new(
|
||||||
"x86",
|
"x86",
|
||||||
inst_group,
|
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