aboutsummaryrefslogtreecommitdiff
path: root/src/boot/be/il.ml
diff options
context:
space:
mode:
authorGraydon Hoare <[email protected]>2010-10-12 16:51:27 -0700
committerGraydon Hoare <[email protected]>2010-10-12 16:51:27 -0700
commit69ae63d4b02b15d47ab90a4bf96880329601f116 (patch)
treea54493f852b7c8c187cb363a09f0f223efae4e1a /src/boot/be/il.ml
parentrustc: Add mutability to tuple literals (diff)
downloadrust-69ae63d4b02b15d47ab90a4bf96880329601f116.tar.xz
rust-69ae63d4b02b15d47ab90a4bf96880329601f116.zip
Fix horribly embarassing signedness bug in backend, plus related regressions.
Diffstat (limited to 'src/boot/be/il.ml')
-rw-r--r--src/boot/be/il.ml6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/boot/be/il.ml b/src/boot/be/il.ml
index 0888f8e8..9a63576e 100644
--- a/src/boot/be/il.ml
+++ b/src/boot/be/il.ml
@@ -812,6 +812,12 @@ let umov (dst:cell) (src:operand) : quad' =
else unary UMOV dst src
;;
+let imov (dst:cell) (src:operand) : quad' =
+ if (cell_is_nil dst || operand_is_nil src)
+ then Dead
+ else unary IMOV dst src
+;;
+
let zero (dst:cell) (count:operand) : quad' =
unary ZERO dst count
;;