Index: src/full-codegen/x87/full-codegen-x87.cc |
diff --git a/src/full-codegen/x87/full-codegen-x87.cc b/src/full-codegen/x87/full-codegen-x87.cc |
index f4a8a9eb1c97704a7464cabd245f7d41a27ef78d..b04623a3bdebe2e42ba9b1b704bc10ca8b7b712b 100644 |
--- a/src/full-codegen/x87/full-codegen-x87.cc |
+++ b/src/full-codegen/x87/full-codegen-x87.cc |
@@ -2532,6 +2532,16 @@ |
__ test_b(FieldOperand(edx, Map::kBitFieldOffset), |
Immediate((1 << Map::kIsCallable) | (1 << Map::kIsUndetectable))); |
Split(zero, if_true, if_false, fall_through); |
+// clang-format off |
+#define SIMD128_TYPE(TYPE, Type, type, lane_count, lane_type) \ |
+ } else if (String::Equals(check, factory->type##_string())) { \ |
+ __ JumpIfSmi(eax, if_false); \ |
+ __ cmp(FieldOperand(eax, HeapObject::kMapOffset), \ |
+ isolate()->factory()->type##_map()); \ |
+ Split(equal, if_true, if_false, fall_through); |
+ SIMD128_TYPES(SIMD128_TYPE) |
+#undef SIMD128_TYPE |
+ // clang-format on |
} else { |
if (if_false != fall_through) __ jmp(if_false); |
} |