From c785f245a68aab9078c37b729fa916f2feae76f0 Mon Sep 17 00:00:00 2001 From: David Monniaux Date: Mon, 13 May 2019 16:44:33 +0200 Subject: 32-bit modulo now uses sign extend then call to the 64-bit function --- mppa_k1c/SelectOp.vp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'mppa_k1c/SelectOp.vp') diff --git a/mppa_k1c/SelectOp.vp b/mppa_k1c/SelectOp.vp index c4b01d89..aac3010e 100644 --- a/mppa_k1c/SelectOp.vp +++ b/mppa_k1c/SelectOp.vp @@ -430,7 +430,11 @@ Definition divu_base (e1: expr) (e2: expr) := :::Enil). Definition modu_base (e1: expr) (e2: expr) := - Eexternal i32_umod sig_ii_i (e1 ::: e2 ::: Enil). + Eop Olowlong + ((Eexternal i64_umod sig_ll_l + ((Eop Ocast32unsigned (e1 ::: Enil))::: + (Eop Ocast32unsigned (e2 ::: Enil))::: Enil)) + :::Enil). Definition shrximm (e1: expr) (n2: int) := if Int.eq n2 Int.zero then e1 else Eop (Oshrximm n2) (e1:::Enil). -- cgit