aboutsummaryrefslogtreecommitdiffstats
path: root/mppa_k1c/SelectOp.vp
diff options
context:
space:
mode:
authorDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2019-05-11 07:59:11 +0200
committerDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2019-05-11 07:59:11 +0200
commitae22df3c5ef0a60527ea85b83bb71e8c95a6ab9c (patch)
treec9a29a001c7ca63d607c335a4b767b54736b8744 /mppa_k1c/SelectOp.vp
parent428af5f71a063962e53e4ab58eaa372ccc926394 (diff)
downloadcompcert-kvx-ae22df3c5ef0a60527ea85b83bb71e8c95a6ab9c.tar.gz
compcert-kvx-ae22df3c5ef0a60527ea85b83bb71e8c95a6ab9c.zip
Pmsub compiled
Diffstat (limited to 'mppa_k1c/SelectOp.vp')
-rw-r--r--mppa_k1c/SelectOp.vp4
1 files changed, 4 insertions, 0 deletions
diff --git a/mppa_k1c/SelectOp.vp b/mppa_k1c/SelectOp.vp
index 6adcebe5..81e288cb 100644
--- a/mppa_k1c/SelectOp.vp
+++ b/mppa_k1c/SelectOp.vp
@@ -151,6 +151,10 @@ Nondetfunction sub (e1: expr) (e2: expr) :=
addimm n1 (Eop Osub (t1:::t2:::Enil))
| t1, Eop (Oaddimm n2) (t2:::Enil) =>
addimm (Int.neg n2) (Eop Osub (t1:::t2:::Enil))
+ | t1, (Eop Omul (t2:::t3:::Enil)) =>
+ Eop Omsub (t1:::t2:::t3:::Enil)
+ | t1, (Eop (Omulimm n) (t2:::Enil)) =>
+ Eop (Omaddimm (Int.neg n)) (t1:::t2:::Enil)
| _, _ => Eop Osub (e1:::e2:::Enil)
end.