SPU: Fix spu_itype::zregmod
This commit is contained in:
@@ -51,22 +51,22 @@ struct spu_itype
|
||||
RDCH,
|
||||
RCHCNT,
|
||||
|
||||
BR, // branch_tag first
|
||||
BR, // branch_tag first, zregmod_tag (2) first
|
||||
BRA,
|
||||
BRNZ,
|
||||
BRZ,
|
||||
BRHNZ,
|
||||
BRHZ,
|
||||
BRSL,
|
||||
BRASL,
|
||||
IRET,
|
||||
BI,
|
||||
BISLED,
|
||||
BISL,
|
||||
BIZ,
|
||||
BINZ,
|
||||
BIHZ,
|
||||
BIHNZ, // branch_tag last
|
||||
BIHNZ, // zregmod_tag (2) last
|
||||
BRSL,
|
||||
BRASL,
|
||||
BISL, // branch_tag last
|
||||
|
||||
ILH, // constant_tag_first
|
||||
ILHU,
|
||||
@@ -245,7 +245,7 @@ struct spu_itype
|
||||
// Test for branch instruction
|
||||
friend constexpr bool operator &(type value, branch_tag)
|
||||
{
|
||||
return value >= BR && value <= BIHNZ;
|
||||
return value >= BR && value <= BISL;
|
||||
}
|
||||
|
||||
// Test for floating point instruction
|
||||
@@ -299,7 +299,7 @@ struct spu_itype
|
||||
// Test for non register-modifying instruction
|
||||
friend constexpr bool operator &(type value, zregmod_tag)
|
||||
{
|
||||
return value >= HEQ && value <= STQR;
|
||||
return (value >= HEQ && value <= STQR) || (value >= BR && value <= BIHNZ);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user