From 0273eb84e071a6f7ffb8c84f37c113132d68ef17 Mon Sep 17 00:00:00 2001 From: bjorn3 Date: Sat, 7 Sep 2019 11:51:23 +0200 Subject: [PATCH] Fix rebase --- cranelift/codegen/meta/src/shared/legalize.rs | 27 +++---------------- 1 file changed, 3 insertions(+), 24 deletions(-) diff --git a/cranelift/codegen/meta/src/shared/legalize.rs b/cranelift/codegen/meta/src/shared/legalize.rs index e006452b35..9588272709 100644 --- a/cranelift/codegen/meta/src/shared/legalize.rs +++ b/cranelift/codegen/meta/src/shared/legalize.rs @@ -185,6 +185,9 @@ pub(crate) fn define(insts: &InstructionGroup, imm: &Immediates) -> TransformGro let offset = var("off"); let vararg = var("vararg"); + narrow.custom_legalize(load, "narrow_load"); + narrow.custom_legalize(store, "narrow_store"); + narrow.legalize( def!(a = iadd(x, y)), vec![ @@ -273,30 +276,6 @@ pub(crate) fn define(insts: &InstructionGroup, imm: &Immediates) -> TransformGro ], ); - // FIXME generalize to any offset once offset+8 can be represented - narrow.legalize( - def!(a = load.I128(flags, ptr, Literal::constant(&imm.offset32, 0))), - vec![ - def!(al = load.I64(flags, ptr, Literal::constant(&imm.offset32, 0))), - def!(ah = load.I64(flags, ptr, Literal::constant(&imm.offset32, 8))), - // `iconcat` expects the same byte order as stored in memory, - // so no need to swap depending on endianness. - def!(a = iconcat(al, ah)), - ], - ); - - // FIXME generalize to any offset once offset+8 can be represented - narrow.legalize( - def!(store.I128(flags, a, ptr, Literal::constant(&imm.offset32, 0))), - vec![ - // `isplit` gives the same byte order as stored in memory, - // so no need to swap depending on endianness. - def!((al, ah) = isplit(a)), - def!(store.I64(flags, al, ptr, Literal::constant(&imm.offset32, 0))), - def!(store.I64(flags, ah, ptr, Literal::constant(&imm.offset32, 8))), - ], - ); - // Widen instructions with one input operand. for &op in &[bnot, popcnt] { for &int_ty in &[I8, I16] {