diff options
author | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2012-02-24 16:43:38 +0000 |
---|---|---|
committer | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2012-02-24 16:43:38 +0000 |
commit | 62316a8e94d8cdcbf9e7aeadd1caf8e29507e6b0 (patch) | |
tree | 39b77b415e5387e8df643e18a206b7f1ffdaf329 /powerpc/SelectOp.vp | |
parent | 91dcfe11ff321386f7924da053be83523073a50c (diff) |
Take advantage of Cmaskzero and Cmasknotzero.
git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1825 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'powerpc/SelectOp.vp')
-rw-r--r-- | powerpc/SelectOp.vp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/powerpc/SelectOp.vp b/powerpc/SelectOp.vp index 290704b..943c400 100644 --- a/powerpc/SelectOp.vp +++ b/powerpc/SelectOp.vp @@ -460,3 +460,10 @@ Nondetfunction addressing (chunk: memory_chunk) (e: expr) := | _ => (Aindexed Int.zero, e:::Enil) end. +(** ** Turning an expression into a condition *) + +Nondetfunction cond_of_expr (e: expr) := + match e with + | Eop (Oandimm n) (t1:::Enil) => (Cmasknotzero n, t1:::Enil) + | _ => (Ccompuimm Cne Int.zero, e:::Enil) + end. |