cranelift: Remove iconst.i128 (#5075)

* cranelift: Remove iconst.i128

* bugpoint: Report Changed when only one instruction is mutated

* cranelift: Fix egraph bxor rule

* cranelift: Remove some simple_preopt opts for i128
This commit is contained in:
Afonso Bordado
2022-10-24 20:43:28 +01:00
committed by GitHub
parent bfcf6616fe
commit c8791073d6
13 changed files with 246 additions and 184 deletions

View File

@@ -694,6 +694,16 @@ pub(crate) fn define(
.build(),
);
let NarrowInt = &TypeVar::new(
"NarrowInt",
"An integer type with lanes type to `i64`",
TypeSetBuilder::new()
.ints(8..64)
.simd_lanes(Interval::All)
.dynamic_simd_lanes(Interval::All)
.build(),
);
let ScalarTruthy = &TypeVar::new(
"ScalarTruthy",
"A scalar truthy type",
@@ -1342,7 +1352,7 @@ pub(crate) fn define(
);
let N = &Operand::new("N", &imm.imm64);
let a = &Operand::new("a", Int).with_doc("A constant integer scalar or vector value");
let a = &Operand::new("a", NarrowInt).with_doc("A constant integer scalar or vector value");
ig.push(
Inst::new(
@@ -3880,15 +3890,6 @@ pub(crate) fn define(
.operands_out(vec![lo, hi]),
);
let NarrowInt = &TypeVar::new(
"NarrowInt",
"An integer type with lanes type to `i64`",
TypeSetBuilder::new()
.ints(8..64)
.simd_lanes(Interval::All)
.build(),
);
let lo = &Operand::new("lo", NarrowInt);
let hi = &Operand::new("hi", NarrowInt);
let a = &Operand::new("a", &NarrowInt.double_width())