From ee36a1fbb1e7a2d7e7eaa044eaf68e21e04be3b4 Mon Sep 17 00:00:00 2001 From: bjorn3 Date: Sun, 21 Feb 2021 12:18:43 +0100 Subject: [PATCH] Remove workaround for stack_{load,store}.i128 not being implemented --- src/pointer.rs | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/src/pointer.rs b/src/pointer.rs index b2036d7bcd4..d08d878c45b 100644 --- a/src/pointer.rs +++ b/src/pointer.rs @@ -168,13 +168,7 @@ impl Pointer { match self.base { PointerBase::Addr(base_addr) => fx.bcx.ins().load(ty, flags, base_addr, self.offset), PointerBase::Stack(stack_slot) => { - if ty == types::I128 || ty.is_vector() { - // WORKAROUND for stack_load.i128 and stack_load.iXxY not being implemented - let base_addr = fx.bcx.ins().stack_addr(fx.pointer_type, stack_slot, 0); - fx.bcx.ins().load(ty, flags, base_addr, self.offset) - } else { - fx.bcx.ins().stack_load(ty, stack_slot, self.offset) - } + fx.bcx.ins().stack_load(ty, stack_slot, self.offset) } PointerBase::Dangling(_align) => unreachable!(), } @@ -191,14 +185,7 @@ impl Pointer { fx.bcx.ins().store(flags, value, base_addr, self.offset); } PointerBase::Stack(stack_slot) => { - let val_ty = fx.bcx.func.dfg.value_type(value); - if val_ty == types::I128 || val_ty.is_vector() { - // WORKAROUND for stack_store.i128 and stack_store.iXxY not being implemented - let base_addr = fx.bcx.ins().stack_addr(fx.pointer_type, stack_slot, 0); - fx.bcx.ins().store(flags, value, base_addr, self.offset); - } else { - fx.bcx.ins().stack_store(value, stack_slot, self.offset); - } + fx.bcx.ins().stack_store(value, stack_slot, self.offset); } PointerBase::Dangling(_align) => unreachable!(), }