aboutsummaryrefslogtreecommitdiff
path: root/src/AbstractInterpretation.v
diff options
context:
space:
mode:
authorGravatar Jason Gross <jgross@mit.edu>2019-04-02 17:51:17 -0400
committerGravatar Jason Gross <jgross@mit.edu>2019-04-02 17:51:17 -0400
commitef3ce824f87fd11eed78a13a884579499a8ffc53 (patch)
treea6af1f34cffc7dedee718e263f6e5d2751eaf28c /src/AbstractInterpretation.v
parentbacfa270c0c492ef8518d360d87e46cee292474f (diff)
Add Z.combine_at_bitwidth
Diffstat (limited to 'src/AbstractInterpretation.v')
-rw-r--r--src/AbstractInterpretation.v6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/AbstractInterpretation.v b/src/AbstractInterpretation.v
index e74582ae6..0489f4dc8 100644
--- a/src/AbstractInterpretation.v
+++ b/src/AbstractInterpretation.v
@@ -685,6 +685,12 @@ Module Compilers.
(ZRange.four_corners Z.add x y)
(ZRange.eight_corners (fun x y m => Z.max 0 (x + y - m))
x y m)))
+ | ident.Z_combine_at_bitwidth as idc
+ => fun bitwidth lo hi
+ => bitwidth <- to_literal bitwidth;
+ lo <- lo;
+ hi <- hi;
+ Some (ZRange.four_corners (ident.interp idc bitwidth) lo hi)
| ident.Z_cast range
=> fun r : option zrange
=> interp_Z_cast range r