summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--aarch64/mono/mono_rewrites.sail2
1 files changed, 1 insertions, 1 deletions
diff --git a/aarch64/mono/mono_rewrites.sail b/aarch64/mono/mono_rewrites.sail
index 82eef96f..c9164b6c 100644
--- a/aarch64/mono/mono_rewrites.sail
+++ b/aarch64/mono/mono_rewrites.sail
@@ -118,7 +118,7 @@ val sext_slice : forall 'n 'm, 'n >= 0 & 'm >= 0.
(bits('n), int, int) -> bits('m) effect pure
function sext_slice(xs,i,l) = {
- let xs = (xs & slice_mask(i,l)) >> i in
+ let xs = arith_shiftright(((xs & slice_mask(i,l)) << ('n - i - l)), 'n - l) in
extsv(xs)
}