[codegen] reintroduce support for carry and borrow instructions in RI… (#1005)
Reintroduce support for iadd carry variants and isub borrow variants for RISC ISAs which had been removed in https://github.com/CraneStation/cranelift/pull/961 and https://github.com/CraneStation/cranelift/pull/962 because of the lack of a proper flags register in RISC architectures.
This commit is contained in:
committed by
Benjamin Bouvier
parent
cadd0ac655
commit
3418fb6e18
@@ -102,15 +102,16 @@ pub(crate) fn define(shared_defs: &mut SharedDefinitions) -> TargetIsa {
|
||||
let mut rv_64 = CpuMode::new("RV64");
|
||||
|
||||
let expand = shared_defs.transform_groups.by_name("expand");
|
||||
let narrow = shared_defs.transform_groups.by_name("narrow");
|
||||
let narrow_no_flags = shared_defs.transform_groups.by_name("narrow_no_flags");
|
||||
|
||||
rv_32.legalize_monomorphic(expand);
|
||||
rv_32.legalize_default(narrow);
|
||||
rv_32.legalize_default(narrow_no_flags);
|
||||
rv_32.legalize_type(I32, expand);
|
||||
rv_32.legalize_type(F32, expand);
|
||||
rv_32.legalize_type(F64, expand);
|
||||
|
||||
rv_64.legalize_monomorphic(expand);
|
||||
rv_64.legalize_default(narrow);
|
||||
rv_64.legalize_default(narrow_no_flags);
|
||||
rv_64.legalize_type(I32, expand);
|
||||
rv_64.legalize_type(I64, expand);
|
||||
rv_64.legalize_type(F32, expand);
|
||||
|
||||
Reference in New Issue
Block a user