Index: src/ic/handler-compiler.cc |
diff --git a/src/ic/handler-compiler.cc b/src/ic/handler-compiler.cc |
index c37df961d6446a508ee15416666beb3dddbce97b..74844d869bbced3747c3e2b27aeb821383827083 100644 |
--- a/src/ic/handler-compiler.cc |
+++ b/src/ic/handler-compiler.cc |
@@ -107,22 +107,15 @@ Register NamedLoadHandlerCompiler::FrontendHeader(Register object_reg, |
function_index = Context::SYMBOL_FUNCTION_INDEX; |
} else if (map()->instance_type() == HEAP_NUMBER_TYPE) { |
function_index = Context::NUMBER_FUNCTION_INDEX; |
- } else if (map()->instance_type() == FLOAT32X4_TYPE) { |
- function_index = Context::FLOAT32X4_FUNCTION_INDEX; |
- } else if (map()->instance_type() == INT32X4_TYPE) { |
- function_index = Context::INT32X4_FUNCTION_INDEX; |
- } else if (map()->instance_type() == BOOL32X4_TYPE) { |
- function_index = Context::BOOL32X4_FUNCTION_INDEX; |
- } else if (map()->instance_type() == INT16X8_TYPE) { |
- function_index = Context::INT16X8_FUNCTION_INDEX; |
- } else if (map()->instance_type() == BOOL16X8_TYPE) { |
- function_index = Context::BOOL16X8_FUNCTION_INDEX; |
- } else if (map()->instance_type() == INT8X16_TYPE) { |
- function_index = Context::INT8X16_FUNCTION_INDEX; |
- } else if (map()->instance_type() == BOOL8X16_TYPE) { |
- function_index = Context::BOOL8X16_FUNCTION_INDEX; |
} else if (*map() == isolate()->heap()->boolean_map()) { |
function_index = Context::BOOLEAN_FUNCTION_INDEX; |
+// clang-format off |
+#define SIMD128_TYPE(TYPE, Type, type, lane_count, lane_type) \ |
+ } else if (map().is_identical_to(isolate()->factory()->type##_map())) { \ |
+ function_index = Context::TYPE##_FUNCTION_INDEX; |
+ SIMD128_TYPES(SIMD128_TYPE) |
+#undef SIMD128_TYPE |
+ // clang-format on |
} else { |
check_type = SKIP_RECEIVER; |
} |