Index: runtime/vm/intermediate_language_mips.cc |
diff --git a/runtime/vm/intermediate_language_mips.cc b/runtime/vm/intermediate_language_mips.cc |
index 14543eacede30acabb95060edd50ca3bbdb91c98..7799bd9e9a0360734b4bc269c1330a373162b9aa 100644 |
--- a/runtime/vm/intermediate_language_mips.cc |
+++ b/runtime/vm/intermediate_language_mips.cc |
@@ -2963,6 +2963,24 @@ void CheckedSmiOpInstr::EmitNativeCode(FlowGraphCompiler* compiler) { |
case Token::kBIT_XOR: |
__ xor_(result, left, right); |
break; |
+ case Token::kEQ: |
+ case Token::kLT: |
+ case Token::kLTE: |
+ case Token::kGT: |
+ case Token::kGTE: { |
+ Label true_label, false_label, done; |
+ BranchLabels labels = { &true_label, &false_label, &false_label }; |
+ Condition true_condition = |
+ EmitSmiComparisonOp(compiler, *locs(), op_kind()); |
+ EmitBranchOnCondition(compiler, true_condition, labels); |
+ __ Bind(&false_label); |
+ __ LoadObject(result, Bool::False()); |
+ __ b(&done); |
+ __ Bind(&true_label); |
+ __ LoadObject(result, Bool::True()); |
+ __ Bind(&done); |
+ break; |
+ } |
default: |
UNIMPLEMENTED(); |
} |