projects
/
openpower-isa.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
21e097f
)
power_insn: support crm specifier
author
Dmitry Selyutin
<ghostmansd@gmail.com>
Mon, 21 Nov 2022 17:32:54 +0000
(20:32 +0300)
committer
Dmitry Selyutin
<ghostmansd@gmail.com>
Sun, 15 Jan 2023 19:47:22 +0000
(22:47 +0300)
src/openpower/decoder/power_insn.py
patch
|
blob
|
history
diff --git
a/src/openpower/decoder/power_insn.py
b/src/openpower/decoder/power_insn.py
index ab200663c4c634b965ef684fd232861fb390f674..a6e69dfa4dc6248d640e6333b5b17f643cc44bb6 100644
(file)
--- a/
src/openpower/decoder/power_insn.py
+++ b/
src/openpower/decoder/power_insn.py
@@
-2900,6
+2900,21
@@
class SpecifierMRR(Specifier):
rm.RG = 1
+@_dataclasses.dataclass(eq=True, frozen=True)
+class SpecifierCRM(Specifier):
+ @classmethod
+ def match(cls, desc, record):
+ if desc != "crm":
+ return None
+
+ return cls(record=record)
+
+ def assemble(self, insn):
+ rm = insn.prefix.rm.select(record=self.record)
+ rm.mode.sel = 0
+ rm.crm = 1
+
+
class Specifiers(tuple):
SPECS = (
SpecifierW,
@@
-2919,6
+2934,7
@@
class Specifiers(tuple):
SpecifierSatU,
SpecifierMR,
SpecifierMRR,
+ SpecifierCRM,
)
def __new__(cls, items, record):