diff options
| author | Brian Campbell | 2018-04-20 10:54:01 +0100 |
|---|---|---|
| committer | Brian Campbell | 2018-04-20 10:56:28 +0100 |
| commit | cf3283f176797f9209e3a8b1d5cc76e38f67d471 (patch) | |
| tree | a18c015cbd0f32765474ddb0ff17b5e39ab0ca7d /aarch64/mono | |
| parent | 3255724a33ec643bd98a7fbc13cf0624aab7ead3 (diff) | |
Fix combined sign-extend-slice operation
Diffstat (limited to 'aarch64/mono')
| -rw-r--r-- | aarch64/mono/mono_rewrites.sail | 2 |
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) } |
