From 4a622ba23ebe02f85b39a0deda4d0a00756abf98 Mon Sep 17 00:00:00 2001 From: Sandipan Das Date: Thu, 7 Jun 2018 12:23:49 +0530 Subject: [PATCH] arch-power: Add fixed-point doubleword arithmetic modulo instructions This adds the following arithmetic instructions: * Modulo Signed Doubleword (modsd) * Modulo Unsigned Doubleword (modud) Change-Id: Ic7bcb85869ccedf5c95aadfe925c85b3b1155031 Signed-off-by: Sandipan Das --- src/arch/power/isa/decoder.isa | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/arch/power/isa/decoder.isa b/src/arch/power/isa/decoder.isa index 8a3da348f..4857616b6 100644 --- a/src/arch/power/isa/decoder.isa +++ b/src/arch/power/isa/decoder.isa @@ -429,6 +429,26 @@ decode PO default Unknown::unknown() { Rt = 0; } }}); + + 777: modsd({{ + int64_t src1 = Ra_sd; + int64_t src2 = Rb_sd; + if ((src1 != INT64_MIN || src2 != -1) && src2 != 0) { + Rt = src1 % src2; + } else { + Rt = 0; + } + }}); + + 265: modud({{ + uint64_t src1 = Ra; + uint64_t src2 = Rb; + if (src2 != 0) { + Rt = src1 % src2; + } else { + Rt = 0; + } + }}); } format IntOp { -- 2.30.2