"""normal: subvector reduce mode, SUBVL>1"""
SVM: BaseRM.mode[3]
- class pu(BaseRM):
- """normal: Pack/Unpack mode, SUBVL>1"""
- SVM: BaseRM.mode[3]
-
class ffrc1(BaseRM):
"""normal: Rc=1: ffirst CR sel"""
inv: BaseRM.mode[2]
dz: BaseRM.mode[3]
sz: BaseRM.mode[3]
- class satpu(BaseRM):
- """normal: Pack/Unpack sat mode: N=0/1 u/s, SUBVL>1"""
- N: BaseRM.mode[2]
- zz: BaseRM.mode[3]
- dz: BaseRM.mode[3]
- sz: BaseRM.mode[3]
-
class prrc1(BaseRM):
"""normal: Rc=1: pred-result CR sel"""
inv: BaseRM.mode[2]
smr: smr
pmr: pmr
svmr: svmr
- pu: pu
ffrc1: ffrc1
ffrc0: ffrc0
sat: sat
satx: satx
- satpu: satpu
prrc1: prrc1
prrc0: prrc0
dz: BaseRM.mode[3]
sz: BaseRM.mode[3]
- class spu(BaseRM):
- """ld/st immediate: Structured Pack/Unpack"""
- zz: BaseRM.mode[3]
- els: BaseRM.mode[4]
- dz: BaseRM.mode[3]
- sz: BaseRM.mode[3]
-
class ffrc1(BaseRM):
"""ld/st immediate: Rc=1: ffirst CR sel"""
inv: BaseRM.mode[2]
RC1: BaseRM.mode[4]
simple: simple
- spu: spu
ffrc1: ffrc1
ffrc0: ffrc0
sat: sat
else:
if rm.mode[4] == 0b0:
rm = rm.svmr
- else:
- rm = rm.pu
+ #else:
+ # rm = rm.pu
elif rm.mode[0:2] == 0b01:
if Rc:
rm = rm.ffrc1
else:
if rm.mode[4]:
rm = rm.satx
- else:
- rm = rm.satpu
+ #else:
+ # rm = rm.satpu
elif rm.mode[0:2] == 0b11:
if Rc:
rm = rm.prrc1
if rm.mode[0:2] == 0b00:
if rm.mode[2] == 0b0:
rm = rm.simple
- else:
- rm = rm.spu
+ #else:
+ # rm = rm.spu
elif rm.mode[0:2] == 0b01:
if Rc:
rm = rm.ffrc1