8a7d99cdea
* Refactoring and optimization on CPU translation * Remove now unused property * Rename ilBlock -> block (local) * Change equality comparison on RegisterMask for consistency Co-Authored-By: gdkchan <gab.dark.100@gmail.com> * Add back the aggressive inlining attribute to the Synchronize method * Implement IEquatable on the Register struct * Fix identation
32 lines
No EOL
681 B
C#
32 lines
No EOL
681 B
C#
namespace ChocolArm64.Decoders
|
|
{
|
|
enum Condition
|
|
{
|
|
Eq = 0,
|
|
Ne = 1,
|
|
GeUn = 2,
|
|
LtUn = 3,
|
|
Mi = 4,
|
|
Pl = 5,
|
|
Vs = 6,
|
|
Vc = 7,
|
|
GtUn = 8,
|
|
LeUn = 9,
|
|
Ge = 10,
|
|
Lt = 11,
|
|
Gt = 12,
|
|
Le = 13,
|
|
Al = 14,
|
|
Nv = 15
|
|
}
|
|
|
|
static class ConditionExtensions
|
|
{
|
|
public static Condition Invert(this Condition cond)
|
|
{
|
|
//Bit 0 of all conditions is basically a negation bit, so
|
|
//inverting this bit has the effect of inverting the condition.
|
|
return (Condition)((int)cond ^ 1);
|
|
}
|
|
}
|
|
} |