aboutsummaryrefslogtreecommitdiffstats
path: root/mppa_k1c/SelectOp.vp
diff options
context:
space:
mode:
authorDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2019-05-13 14:02:23 +0200
committerDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2019-05-13 14:02:23 +0200
commit5e53b6e6447b22eb34e5be1bc45320ca4e3d82a1 (patch)
tree46cd387020eb3af3c65d8bd8d0b73af3e47feaaf /mppa_k1c/SelectOp.vp
parentc1b36f701c8c3968bb5fad86c94dd5ccfa81e3e5 (diff)
downloadcompcert-kvx-5e53b6e6447b22eb34e5be1bc45320ca4e3d82a1.tar.gz
compcert-kvx-5e53b6e6447b22eb34e5be1bc45320ca4e3d82a1.zip
we directly call 64-bit unsigned division
Diffstat (limited to 'mppa_k1c/SelectOp.vp')
-rw-r--r--mppa_k1c/SelectOp.vp6
1 files changed, 5 insertions, 1 deletions
diff --git a/mppa_k1c/SelectOp.vp b/mppa_k1c/SelectOp.vp
index 6adcebe5..c4b01d89 100644
--- a/mppa_k1c/SelectOp.vp
+++ b/mppa_k1c/SelectOp.vp
@@ -423,7 +423,11 @@ Definition mods_base (e1: expr) (e2: expr) :=
Eexternal i32_smod sig_ii_i (e1 ::: e2 ::: Enil).
Definition divu_base (e1: expr) (e2: expr) :=
- Eexternal i32_udiv sig_ii_i (e1 ::: e2 ::: Enil).
+ Eop Olowlong
+ ((Eexternal i64_udiv sig_ll_l
+ ((Eop Ocast32unsigned (e1 ::: Enil)):::
+ (Eop Ocast32unsigned (e2 ::: Enil))::: Enil))
+ :::Enil).
Definition modu_base (e1: expr) (e2: expr) :=
Eexternal i32_umod sig_ii_i (e1 ::: e2 ::: Enil).