diff options
author | David Monniaux <david.monniaux@univ-grenoble-alpes.fr> | 2019-04-25 10:32:38 +0200 |
---|---|---|
committer | David Monniaux <david.monniaux@univ-grenoble-alpes.fr> | 2019-04-25 10:32:38 +0200 |
commit | bb185aa85ddf32feed61d7888c1b199fffdd821f (patch) | |
tree | 04b9489a4ad344b635f958eefba2126709d10cf7 /mppa_k1c/SelectOp.vp | |
parent | b66d6034fb09e6129ca24dd458fbef49e4cb98d7 (diff) | |
download | compcert-kvx-bb185aa85ddf32feed61d7888c1b199fffdd821f.tar.gz compcert-kvx-bb185aa85ddf32feed61d7888c1b199fffdd821f.zip |
IT COMPILES
Diffstat (limited to 'mppa_k1c/SelectOp.vp')
-rw-r--r-- | mppa_k1c/SelectOp.vp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/mppa_k1c/SelectOp.vp b/mppa_k1c/SelectOp.vp index 8f953425..3e36a51c 100644 --- a/mppa_k1c/SelectOp.vp +++ b/mppa_k1c/SelectOp.vp @@ -203,11 +203,11 @@ Nondetfunction shrimm (e1: expr) (n: int) := then Eop (Oshrimm (Int.add n n1)) (t1:::Enil) else Eop (Oshrimm n) (e1:::Enil) | Eop (Oshlimm n1) (t1:::Enil) => - let stop := Int.sub Int.iwordsize (Int.add n1 Int.one) in - let start := Int.sub (Int.add (Int.add n stop) Int.one) Int.iwordsize in - if (Int.cmp Cle start stop) - && (Int.cmp Cge start Int.zero) - && (Int.cmp Clt stop Int.iwordsize) + let stop := Z.sub Int.zwordsize (Z.add (Int.unsigned n1) Z.one) in + let start := Z.sub (Z.add (Z.add (Int.unsigned n) stop) Z.one) Int.zwordsize in + if (Z.leb start stop) + && (Z.geb start Z.zero) + && (Z.ltb stop Int.zwordsize) then Eop (Oextfz stop start) (t1:::Enil) else Eop (Oshrimm n) (e1:::Enil) | _ => |