From ae428a2d702fe9a8ae7993b720c59d184a9d239c Mon Sep 17 00:00:00 2001 From: bjorn3 Date: Mon, 19 Aug 2019 16:42:56 +0200 Subject: [PATCH] Fix saturating_{add,sub} for 8bit and 16bit ints --- src/intrinsics.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/intrinsics.rs b/src/intrinsics.rs index 1c14278866c0..c12730da7585 100644 --- a/src/intrinsics.rs +++ b/src/intrinsics.rs @@ -513,8 +513,8 @@ pub fn codegen_intrinsic_call<'tcx>( let max = fx.bcx.ins().iconst(clif_ty, max); let val = match (intrinsic, signed) { - ("saturating_add", false) => fx.bcx.ins().select(has_overflow, max, val), - ("saturating_sub", false) => fx.bcx.ins().select(has_overflow, min, val), + ("saturating_add", false) => codegen_select(&mut fx.bcx, has_overflow, max, val), + ("saturating_sub", false) => codegen_select(&mut fx.bcx, has_overflow, min, val), ("saturating_add", true) => unimplemented!(), ("saturating_sub", true) => unimplemented!(), _ => unreachable!(),