diff options
author | David Monniaux <david.monniaux@univ-grenoble-alpes.fr> | 2021-02-02 11:22:59 +0100 |
---|---|---|
committer | David Monniaux <david.monniaux@univ-grenoble-alpes.fr> | 2021-02-02 11:22:59 +0100 |
commit | 5afebe369cea7f2746dec7c64514822562e9100e (patch) | |
tree | f69f28af83fee03013ebfa41be43eb78f9435381 /riscV/SelectOp.vp | |
parent | 5dfa2de0e1ba0acd36584983afefd9af1f5c2262 (diff) | |
download | compcert-kvx-5afebe369cea7f2746dec7c64514822562e9100e.tar.gz compcert-kvx-5afebe369cea7f2746dec7c64514822562e9100e.zip |
begin synthesizing select
Diffstat (limited to 'riscV/SelectOp.vp')
-rw-r--r-- | riscV/SelectOp.vp | 6 |
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 *) |