| Index: src/mips64/constants-mips64.h
|
| diff --git a/src/mips64/constants-mips64.h b/src/mips64/constants-mips64.h
|
| index fcaed5097f808700ac9cf78cabface4fede687f9..a1e6c0b05db54c9de48a45464bf11e2cc8c94d2c 100644
|
| --- a/src/mips64/constants-mips64.h
|
| +++ b/src/mips64/constants-mips64.h
|
| @@ -580,10 +580,10 @@ enum Condition {
|
| no_overflow = 1,
|
| Uless = 2,
|
| Ugreater_equal = 3,
|
| - equal = 4,
|
| - not_equal = 5,
|
| - Uless_equal = 6,
|
| - Ugreater = 7,
|
| + Uless_equal = 4,
|
| + Ugreater = 5,
|
| + equal = 6,
|
| + not_equal = 7, // Unordered or Not Equal.
|
| negative = 8,
|
| positive = 9,
|
| parity_even = 10,
|
| @@ -593,7 +593,7 @@ enum Condition {
|
| less_equal = 14,
|
| greater = 15,
|
| ueq = 16, // Unordered or Equal.
|
| - nue = 17, // Not (Unordered or Equal).
|
| + ogl = 17, // Ordered and Not Equal.
|
| cc_always = 18,
|
|
|
| // Aliases.
|
| @@ -617,6 +617,10 @@ enum Condition {
|
| hs = Ugreater_equal,
|
| lo = Uless,
|
| al = cc_always,
|
| + ult = Uless,
|
| + uge = Ugreater_equal,
|
| + ule = Uless_equal,
|
| + ugt = Ugreater,
|
| cc_default = kNoCondition
|
| };
|
|
|
| @@ -631,6 +635,39 @@ inline Condition NegateCondition(Condition cc) {
|
| }
|
|
|
|
|
| +inline Condition NegateFpuCondition(Condition cc) {
|
| + DCHECK(cc != cc_always);
|
| + switch (cc) {
|
| + case ult:
|
| + return ge;
|
| + case ugt:
|
| + return le;
|
| + case uge:
|
| + return lt;
|
| + case ule:
|
| + return gt;
|
| + case lt:
|
| + return uge;
|
| + case gt:
|
| + return ule;
|
| + case ge:
|
| + return ult;
|
| + case le:
|
| + return ugt;
|
| + case eq:
|
| + return ne;
|
| + case ne:
|
| + return eq;
|
| + case ueq:
|
| + return ogl;
|
| + case ogl:
|
| + return ueq;
|
| + default:
|
| + return cc;
|
| + }
|
| +}
|
| +
|
| +
|
| // Commute a condition such that {a cond b == b cond' a}.
|
| inline Condition CommuteCondition(Condition cc) {
|
| switch (cc) {
|
|
|