From 199a8545b24ac08e6b8d260a68b927b29d358d43 Mon Sep 17 00:00:00 2001 From: Dmitry Selyutin Date: Wed, 17 Aug 2022 00:40:39 +0300 Subject: [PATCH] pysvp64dis: introduce Prefix and RM classes --- src/openpower/sv/trans/pysvp64dis.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/openpower/sv/trans/pysvp64dis.py b/src/openpower/sv/trans/pysvp64dis.py index 4bd056f9..4923e59f 100644 --- a/src/openpower/sv/trans/pysvp64dis.py +++ b/src/openpower/sv/trans/pysvp64dis.py @@ -59,13 +59,19 @@ class PrefixedInstruction(_SelectableInt): class SVP64Instruction(PrefixedInstruction): - @cached_property - def prefix(self): - return _SVP64PrefixFields(super().prefix) + class Prefix(_SVP64PrefixFields): + class RM(_SVP64RMFields): + @cached_property + def sv_mode(self): + return (self.mode & 0b11) + + @property + def rm(self): + return self.__class__.RM(super().rm) @cached_property - def rm(self): - return _SVP64RMFields(self.prefix.rm) + def prefix(self): + return self.__class__.Prefix(super().prefix) def load(ifile, byteorder, **_): -- 2.30.2