about summary refs log tree commit diff
path: root/src/pointer.rs
diff options
context:
space:
mode:
authorbjorn3 <bjorn3@users.noreply.github.com>2021-02-21 12:18:43 +0100
committerbjorn3 <bjorn3@users.noreply.github.com>2021-02-21 12:18:43 +0100
commitee36a1fbb1e7a2d7e7eaa044eaf68e21e04be3b4 (patch)
tree1a7e2c2fc40c78344def0b60538ebc4063f42882 /src/pointer.rs
parent9c980276d81b727bb8efcbe63f51866ba19793a0 (diff)
downloadrust-ee36a1fbb1e7a2d7e7eaa044eaf68e21e04be3b4.tar.gz
rust-ee36a1fbb1e7a2d7e7eaa044eaf68e21e04be3b4.zip
Remove workaround for stack_{load,store}.i128 not being implemented
Diffstat (limited to 'src/pointer.rs')
-rw-r--r--src/pointer.rs17
1 files 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!(),
         }