From 4fd52d03967cc4e5609378dd59d9307991f2271d Mon Sep 17 00:00:00 2001 From: Brian Campbell Date: Wed, 14 Feb 2018 17:13:29 +0000 Subject: Another mono rewrite for aarch64 --- lib/mono_rewrites.sail | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'lib') diff --git a/lib/mono_rewrites.sail b/lib/mono_rewrites.sail index 167a2fdd..2958c890 100644 --- a/lib/mono_rewrites.sail +++ b/lib/mono_rewrites.sail @@ -130,6 +130,15 @@ function UInt_slice(xs,i,l) = { UInt(xs) } +val UInt_subrange : forall 'n, 'n >= 0. + (bits('n), int, int) -> int effect pure + +function UInt_subrange(xs,i,j) = { + let xs = (xs & slice_mask(j,i-j)) >> i in + UInt(xs) +} + + val zext_ones : forall 'n, 'n >= 0. int -> bits('n) effect pure function zext_ones(m) = { -- cgit v1.2.3