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) { |