aboutsummaryrefslogtreecommitdiffstats
path: root/riscV/SelectOp.vp
diff options
context:
space:
mode:
authorDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2021-02-02 11:22:59 +0100
committerDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2021-02-02 11:22:59 +0100
commit5afebe369cea7f2746dec7c64514822562e9100e (patch)
treef69f28af83fee03013ebfa41be43eb78f9435381 /riscV/SelectOp.vp
parent5dfa2de0e1ba0acd36584983afefd9af1f5c2262 (diff)
downloadcompcert-kvx-5afebe369cea7f2746dec7c64514822562e9100e.tar.gz
compcert-kvx-5afebe369cea7f2746dec7c64514822562e9100e.zip
begin synthesizing select
Diffstat (limited to 'riscV/SelectOp.vp')
-rw-r--r--riscV/SelectOp.vp6
1 files changed, 5 insertions, 1 deletions
diff --git a/riscV/SelectOp.vp b/riscV/SelectOp.vp
index 7714f12d..0596ebf6 100644
--- a/riscV/SelectOp.vp
+++ b/riscV/SelectOp.vp
@@ -421,7 +421,11 @@ Definition floatofsingle (e: expr) := Eop Ofloatofsingle (e ::: Enil).
Definition select (ty: typ) (cond: condition) (args: exprlist) (e1 e2: expr)
: option expr
- := None.
+ := match ty with
+ | Tlong => Some (Eop Oselectl
+ ((Eop (Ocmp cond) args) ::: e1 ::: e2 ::: Enil))
+ | _ => None
+ end.
(** ** Recognition of addressing modes for load and store operations *)