Index: src/arm64/code-stubs-arm64.cc |
diff --git a/src/arm64/code-stubs-arm64.cc b/src/arm64/code-stubs-arm64.cc |
index e67b4fd2beb291703281082aa711f1c21c975fc3..1e5a14daa92c600c38c53e8fed4d01111dc31a21 100644 |
--- a/src/arm64/code-stubs-arm64.cc |
+++ b/src/arm64/code-stubs-arm64.cc |
@@ -227,6 +227,9 @@ static void EmitIdenticalObjectComparison(MacroAssembler* masm, Register left, |
// Call runtime on identical symbols since we need to throw a TypeError. |
__ Cmp(right_type, SYMBOL_TYPE); |
__ B(eq, slow); |
+ // Call runtime on identical SIMD values since we must throw a TypeError. |
+ __ Cmp(right_type, FLOAT32X4_TYPE); |
+ __ B(eq, slow); |
if (is_strong(strength)) { |
// Call the runtime on anything that is converted in the semantics, since |
// we need to throw a TypeError. Smis have already been ruled out. |
@@ -246,6 +249,9 @@ static void EmitIdenticalObjectComparison(MacroAssembler* masm, Register left, |
// Call runtime on identical symbols since we need to throw a TypeError. |
__ Cmp(right_type, SYMBOL_TYPE); |
__ B(eq, slow); |
+ // Call runtime on identical SIMD values since we must throw a TypeError. |
+ __ Cmp(right_type, FLOAT32X4_TYPE); |
+ __ B(eq, slow); |
if (is_strong(strength)) { |
// Call the runtime on anything that is converted in the semantics, |
// since we need to throw a TypeError. Smis and heap numbers have |