about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/intrinsics/mod.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/intrinsics/mod.rs b/src/intrinsics/mod.rs
index c74ed2d3061..a9954aff6d1 100644
--- a/src/intrinsics/mod.rs
+++ b/src/intrinsics/mod.rs
@@ -812,7 +812,7 @@ pub(crate) fn codegen_intrinsic_call<'tcx>(
             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);
         };