Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(704)

Unified Diff: runtime/vm/intrinsifier_mips.cc

Issue 2423843002: Add DoubleTestOp instruction (Closed)
Patch Set: Address comments Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/vm/intrinsifier_ia32.cc ('k') | runtime/vm/intrinsifier_x64.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/intrinsifier_mips.cc
diff --git a/runtime/vm/intrinsifier_mips.cc b/runtime/vm/intrinsifier_mips.cc
index 748f06dff9d7bdda74aa590ac74a56fae2844ae1..ff354af7f4455fce5ca87bb738162f61e4f2b3ac 100644
--- a/runtime/vm/intrinsifier_mips.cc
+++ b/runtime/vm/intrinsifier_mips.cc
@@ -1530,6 +1530,27 @@ void Intrinsifier::Double_getIsNaN(Assembler* assembler) {
}
+void Intrinsifier::Double_getIsInfinite(Assembler* assembler) {
+ Label not_inf;
+ __ lw(T0, Address(SP, 0 * kWordSize));
+ __ lw(T1, FieldAddress(T0, Double::value_offset()));
+ __ lw(T2, FieldAddress(T0, Double::value_offset() + kWordSize));
+ // If the low word isn't zero, then it isn't infinity.
+ __ bne(T1, ZR, &not_inf);
+ // Mask off the sign bit.
+ __ AndImmediate(T2, T2, 0x7FFFFFFF);
+ // Compare with +infinity.
+ __ BranchNotEqual(T2, Immediate(0x7FF00000), &not_inf);
+
+ __ LoadObject(V0, Bool::True());
+ __ Ret();
+
+ __ Bind(&not_inf);
+ __ LoadObject(V0, Bool::False());
+ __ Ret();
+}
+
+
void Intrinsifier::Double_getIsNegative(Assembler* assembler) {
Label is_false, is_true, is_zero;
__ lw(T0, Address(SP, 0 * kWordSize));
« no previous file with comments | « runtime/vm/intrinsifier_ia32.cc ('k') | runtime/vm/intrinsifier_x64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698