]> git.lizzy.rs Git - rust.git/commitdiff
Fix ptr_offset_from intrinsic
authorbjorn3 <bjorn3@users.noreply.github.com>
Fri, 1 May 2020 10:32:23 +0000 (12:32 +0200)
committerbjorn3 <bjorn3@users.noreply.github.com>
Tue, 30 Jun 2020 16:53:47 +0000 (18:53 +0200)
src/intrinsics/mod.rs

index c74ed2d306117788885eeb20b09441a430555d91..a9954aff6d1d269e9a6db37cd41c569011ae2247 100644 (file)
@@ -812,7 +812,7 @@ fn swap(bcx: &mut FunctionBuilder<'_>, v: Value) -> Value {
             let pointee_size: u64 = fx.layout_of(T).size.bytes();
             let diff = fx.bcx.ins().isub(ptr, base);
             // FIXME this can be an exact division.
-            let val = CValue::by_val(fx.bcx.ins().udiv_imm(diff, pointee_size as i64), isize_layout);
+            let val = CValue::by_val(fx.bcx.ins().sdiv_imm(diff, pointee_size as i64), isize_layout);
             ret.write_cvalue(fx, val);
         };