From a257d6eb51baa10be386af09e707d7d179ffb456 Mon Sep 17 00:00:00 2001 From: Sandipan Das Date: Sat, 6 Feb 2021 17:18:12 +0530 Subject: [PATCH] arch-power: Add doubleword modulo instructions This adds the following 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 6c8cba9cd..06636a2f8 100644 --- a/src/arch/power/isa/decoder.isa +++ b/src/arch/power/isa/decoder.isa @@ -413,6 +413,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