extra2: Extra2.remap(range(10, 19))
extra3: Extra3.remap(range(10, 19))
- @property
- def specifiers(self):
+ def specifiers(self, record):
subvl = int(self.subvl)
if subvl > 0:
yield {
class NormalLDSTBaseRM(BaseRM):
- @property
- def specifiers(self):
+ def specifiers(self, record):
width = {
0b11: "8",
0b10: "16",
if sw != 0b00:
yield f"sw={width[sw]}"
- yield from super().specifiers
+ yield from super().specifiers(record=record)
class NormalBaseRM(NormalLDSTBaseRM):
dz: BaseRM.mode[3]
sz: BaseRM.mode[4]
- @property
- def specifiers(self):
+ def specifiers(self, record):
if self.dz:
yield f"dz"
if self.sz:
yield f"sz"
- yield from super().specifiers
+ yield from super().specifiers(record=record)
class NormalScalarReduceRM(NormalBaseRM):
"""normal: scalar reduce mode (mapreduce), SUBVL=1"""
RG: BaseRM.mode[4]
- @property
- def specifiers(self):
+ def specifiers(self, record):
if self.RG:
yield "mrr"
- yield from super().specifiers
+ yield from super().specifiers(record=record)
class NormalReservedRM(NormalBaseRM):
dz: BaseRM.mode[3]
sz: BaseRM.mode[4]
- @property
- def specifiers(self):
+ def specifiers(self, record):
if self.dz:
yield f"dz"
if self.sz:
yield "sats"
else:
yield "satu"
- yield from super().specifiers
+
+ yield from super().specifiers(record=record)
class NormalPredResultRc1RM(NormalBaseRM):
dz: BaseRM.mode[3]
sz: BaseRM.mode[3]
- @property
- def specifiers(self):
+ def specifiers(self, record):
if self.zz:
yield f"zz"
- yield from super().specifiers
+
+ yield from super().specifiers(record=record)
class NormalRM(NormalBaseRM):
dz: BaseRM.mode[3]
sz: BaseRM.mode[3]
- @property
- def specifiers(self):
+ def specifiers(self, record):
if self.zz:
yield f"zz"
- yield from super().specifiers
+
+ yield from super().specifiers(record=record)
class LDSTImmReservedRM(LDSTImmBaseRM):
dz: BaseRM.mode[3]
sz: BaseRM.mode[3]
- @property
- def specifiers(self):
+ def specifiers(self, record):
if self.zz:
yield f"zz"
if self.N:
yield "sats"
else:
yield "satu"
- yield from super().specifiers
+
+ yield from super().specifiers(record=record)
class LDSTImmPredResultRc1RM(LDSTImmBaseRM):
sz: BaseRM.mode[3]
dz: BaseRM.mode[3]
- @property
- def specifiers(self):
+ def specifiers(self, record):
if self.dz:
yield f"dz"
if self.sz:
yield f"sz"
- yield from super().specifiers
+
+ yield from super().specifiers(record=record)
class LDSTIdxStrideRM(LDSTIdxBaseRM):
dz: BaseRM.mode[3]
sz: BaseRM.mode[4]
- @property
- def specifiers(self):
+ def specifiers(self, record):
if self.dz:
yield f"dz"
if self.sz:
yield f"sz"
- yield from super().specifiers
+
+ yield from super().specifiers(record=record)
class LDSTIdxSaturationRM(LDSTIdxBaseRM):
dz: BaseRM.mode[3]
sz: BaseRM.mode[4]
- @property
- def specifiers(self):
+ def specifiers(self, record):
if self.dz:
yield f"dz"
if self.sz:
yield "sats"
else:
yield "satu"
- yield from super().specifiers
+
+ yield from super().specifiers(record=record)
class LDSTIdxPredResultRc1RM(LDSTIdxBaseRM):
dz: BaseRM.mode[3]
sz: BaseRM.mode[3]
- @property
- def specifiers(self):
+ def specifiers(self, record):
if self.zz:
yield f"zz"
- yield from super().specifiers
+
+ yield from super().specifiers(record=record)
class LDSTIdxRM(LDSTIdxBaseRM):
RG: BaseRM[20]
dz: BaseRM[22]
- @property
- def specifiers(self):
+ def specifiers(self, record):
if self.dz:
yield f"dz"
if self.sz:
if self.RG:
yield "mrr"
- yield from super().specifiers
+ yield from super().specifiers(record=record)
class CROpScalarReduceRM(CROpBaseRM):
SNZ: BaseRM[7]
RG: BaseRM[20]
- @property
- def specifiers(self):
+ def specifiers(self, record):
if self.sz:
yield f"sz"
if self.RG:
yield "mrr"
- yield from super().specifiers
+ yield from super().specifiers(record=record)
class CROpReservedRM(CROpBaseRM):
dz: BaseRM[6]
sz: BaseRM[6]
- @property
- def specifiers(self):
+ def specifiers(self, record):
if self.zz:
yield f"zz"
if self.RG:
yield "mrr"
- yield from super().specifiers
+ yield from super().specifiers(record=record)
class CROpFailFirst3RM(CROpBaseRM):
dz: BaseRM[6]
sz: BaseRM[6]
- @property
- def specifiers(self):
+ def specifiers(self, record):
if self.zz:
yield f"zz"
- yield from super().specifiers
+ yield from super().specifiers(record=record)
class CROpFailFirst5RM(CROpBaseRM):
inv: BaseRM[21]
dz: BaseRM[22]
- @property
- def specifiers(self):
+ def specifiers(self, record):
if self.dz:
yield f"dz"
if self.sz:
yield f"sz"
- yield from super().specifiers
+ yield from super().specifiers(record=record)
class CROpRM(CROpBaseRM):
Rc = bool(self.suffix[record.fields["Rc"]])
rm = self.prefix.rm.select(record=record, Rc=Rc)
- specifiers = tuple(rm.specifiers)
+ specifiers = tuple(rm.specifiers(record=record))
if specifiers:
- specifiers = f"/{'/'.join(specifiers)}"
+ specifiers = "/".join(specifiers)
+ specifiers = f"/{specifiers}"
else:
specifiers = ""