Index: src/ia32/full-codegen-ia32.cc |
diff --git a/src/ia32/full-codegen-ia32.cc b/src/ia32/full-codegen-ia32.cc |
index 909294e90562be9363f80718b15c7b242a1f4fd4..08cbbf0f8d56e1c32b2ebf226f940d79857203f9 100644 |
--- a/src/ia32/full-codegen-ia32.cc |
+++ b/src/ia32/full-codegen-ia32.cc |
@@ -4536,6 +4536,14 @@ void FullCodeGenerator::EmitLiteralCompareTypeof(Expression* expr, |
__ cmp(FieldOperand(eax, HeapObject::kMapOffset), |
isolate()->factory()->heap_number_map()); |
Split(equal, if_true, if_false, fall_through); |
+ } else if (check->Equals(isolate()->heap()->float32x4_string())) { |
+ __ JumpIfSmi(eax, if_false); |
+ __ CmpObjectType(eax, FLOAT32x4_TYPE, edx); |
+ Split(equal, if_true, if_false, fall_through); |
+ } else if (check->Equals(isolate()->heap()->int32x4_string())) { |
+ __ JumpIfSmi(eax, if_false); |
+ __ CmpObjectType(eax, INT32x4_TYPE, edx); |
+ Split(equal, if_true, if_false, fall_through); |
} else if (check->Equals(isolate()->heap()->string_string())) { |
__ JumpIfSmi(eax, if_false); |
__ CmpObjectType(eax, FIRST_NONSTRING_TYPE, edx); |