diff --git a/sledge/src/llair/exp.ml b/sledge/src/llair/exp.ml index da2b44f39..5078944d8 100644 --- a/sledge/src/llair/exp.ml +++ b/sledge/src/llair/exp.ml @@ -654,6 +654,7 @@ let float data = Float {data} |> check invariant let simp_convert signed (dst : Typ.t) src arg = match (dst, arg) with + | _ when Typ.equal dst src -> arg | Integer {bits= m}, Integer {data; typ= Integer {bits= n}} -> integer (Z.clamp ~signed (min m n) data) dst | _ -> App {op= Convert {signed; dst; src}; arg}