Sandipan Das has submitted this change. ( https://gem5-review.googlesource.com/c/public/gem5/+/40909 )

Change subject: arch-power: Add word modulo instructions
......................................................................

arch-power: Add word modulo instructions

This adds the following instructions.
  * Modulo Signed Word (modsw)
  * Modulo Unsigned Word (moduw)

Change-Id: Id84ff46d0114ab859bd8616d3dcf22111cf3bda2
Signed-off-by: Sandipan Das <[email protected]>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/40909
Reviewed-by: Boris Shingarov <[email protected]>
Maintainer: Boris Shingarov <[email protected]>
Tested-by: kokoro <[email protected]>
---
M src/arch/power/isa/decoder.isa
1 file changed, 22 insertions(+), 0 deletions(-)

Approvals:
  Boris Shingarov: Looks good to me, approved; Looks good to me, approved
  kokoro: Regressions pass



diff --git a/src/arch/power/isa/decoder.isa b/src/arch/power/isa/decoder.isa
index 131be8d..5b16d72 100644
--- a/src/arch/power/isa/decoder.isa
+++ b/src/arch/power/isa/decoder.isa
@@ -334,6 +334,17 @@

         246: MiscOp::dcbtst({{ }});
         247: StoreIndexUpdateOp::stbux({{ Mem_ub = Rs_ub; }});
+
+        267: IntArithOp::moduw({{
+            uint64_t src1 = Ra_uw;
+            uint64_t src2 = Rb_uw;
+            if (src2 != 0) {
+                Rt = src1 % src2;
+            } else {
+                Rt = 0;
+            }
+        }});
+
         278: MiscOp::dcbt({{ }});
         279: LoadIndexOp::lhzx({{ Rt = Mem_uh; }});
         284: IntLogicOp::eqv({{ Ra = ~(Rs ^ Rb); }});
@@ -435,6 +446,17 @@
         }

         759: StoreIndexUpdateOp::stfdux({{ Mem_df = Fs; }});
+
+        779: IntArithOp::modsw({{
+            int64_t src1 = Ra_sw;
+            int64_t src2 = Rb_sw;
+            if ((src1 != INT32_MIN || src2 != -1) && src2 != 0) {
+                Rt = src1 % src2;
+            } else {
+                Rt = 0;
+            }
+        }});
+
         790: LoadIndexOp::lhbrx({{ Rt = swap_byte(Mem_uh); }});

         792: IntLogicOp::sraw({{

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/40909
To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: Id84ff46d0114ab859bd8616d3dcf22111cf3bda2
Gerrit-Change-Number: 40909
Gerrit-PatchSet: 8
Gerrit-Owner: Sandipan Das <[email protected]>
Gerrit-Reviewer: Boris Shingarov <[email protected]>
Gerrit-Reviewer: Jason Lowe-Power <[email protected]>
Gerrit-Reviewer: Sandipan Das <[email protected]>
Gerrit-Reviewer: kokoro <[email protected]>
Gerrit-MessageType: merged
_______________________________________________
gem5-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to