aboutsummaryrefslogtreecommitdiffstats
path: root/riscV/SelectOp.vp
diff options
context:
space:
mode:
authorDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2021-02-02 16:34:28 +0100
committerDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2021-02-02 16:34:28 +0100
commit11018c3d46845722daf73883ce3959afdd6ac92f (patch)
tree58676fd81274ee77d3adff8a858591ea180ae000 /riscV/SelectOp.vp
parent225e51bcf9bfe4029e0d9ca5617ad288326e68c9 (diff)
downloadcompcert-kvx-11018c3d46845722daf73883ce3959afdd6ac92f.tar.gz
compcert-kvx-11018c3d46845722daf73883ce3959afdd6ac92f.zip
Cmov Tsingle
Diffstat (limited to 'riscV/SelectOp.vp')
-rw-r--r--riscV/SelectOp.vp7
1 files changed, 7 insertions, 0 deletions
diff --git a/riscV/SelectOp.vp b/riscV/SelectOp.vp
index b6720e40..bc169006 100644
--- a/riscV/SelectOp.vp
+++ b/riscV/SelectOp.vp
@@ -433,6 +433,13 @@ Definition select (ty: typ) (cond: condition) (args: exprlist) (e1 e2: expr)
((Eop (Ocmp cond) args) :::
(Eop Obits_of_float (e1 ::: Enil)) :::
(Eop Obits_of_float (e2 ::: Enil)) ::: Enil)) ::: Enil))
+ | Tsingle => Some
+ (Eop Osingle_of_bits
+ ((Eop Olowlong ((Eop Oselectl
+ ((Eop (Ocmp cond) args) :::
+ (Eop Ocast32signed ((Eop Obits_of_single (e1 ::: Enil)) ::: Enil)) :::
+ (Eop Ocast32signed ((Eop Obits_of_single (e2 ::: Enil)) ::: Enil))
+ ::: Enil)) ::: Enil)) ::: Enil))
| _ => None
end
else None.