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:
a102042
)
power_insn: support snz specifier
author
Dmitry Selyutin
<ghostmansd@gmail.com>
Mon, 21 Nov 2022 17:34:11 +0000
(20:34 +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 84cd5e1cf49dfd4574c9365d91c3366c914d2a1d..c5c3b51dbdf4fc1bb545f3c3a7b40f2cf405ec80 100644
(file)
--- a/
src/openpower/decoder/power_insn.py
+++ b/
src/openpower/decoder/power_insn.py
@@
-2940,6
+2940,18
@@
class SpecifierAll(SpecifierBranch):
rm.ALL = 1
+@_dataclasses.dataclass(eq=True, frozen=True)
+class SpecifierSNZ(SpecifierBranch):
+ @classmethod
+ def match(cls, desc, record):
+ return super().match(desc=desc, record=record, etalon="snz")
+
+ def assemble(self, insn):
+ rm = insn.prefix.rm.select(record=self.record)
+ rm.sz = 1
+ rm.SNZ = 1
+
+
class Specifiers(tuple):
SPECS = (
SpecifierW,
@@
-2961,6
+2973,7
@@
class Specifiers(tuple):
SpecifierMRR,
SpecifierCRM,
SpecifierAll,
+ SpecifierSNZ,
)
def __new__(cls, items, record):