Commit 0d868a10 authored by bmeurer's avatar bmeurer Committed by Commit bot

[turbofan] Simd128Values don't have a canonical representation.

R=jarin@chromium.org

Review-Url: https://codereview.chromium.org/2024853002
Cr-Commit-Position: refs/heads/master@{#36627}
parent 21a43729
......@@ -593,9 +593,10 @@ Reduction JSTypedLowering::ReduceJSStrictEqual(Node* node, bool invert) {
return Replace(replacement);
}
}
if (r.OneInputCannotBe(Type::NumberOrString())) {
// For values with canonical representation (i.e. not string nor number) an
// empty type intersection means the values cannot be strictly equal.
if (r.OneInputCannotBe(Type::NumberOrSimdOrString())) {
// For values with canonical representation (i.e. neither String, nor
// Simd128Value nor Number) an empty type intersection means the values
// cannot be strictly equal.
if (!r.left_type()->Maybe(r.right_type())) {
Node* replacement = jsgraph()->BooleanConstant(invert);
ReplaceWithValue(node, replacement);
......
......@@ -219,6 +219,7 @@ namespace internal {
V(BooleanOrNullOrUndefined, kBoolean | kNull | kUndefined) \
V(NullOrUndefined, kNull | kUndefined) \
V(Undetectable, kNullOrUndefined | kOtherUndetectable) \
V(NumberOrSimdOrString, kNumber | kSimd | kString) \
V(NumberOrString, kNumber | kString) \
V(NumberOrUndefined, kNumber | kUndefined) \
V(PlainPrimitive, kNumberOrString | kBoolean | kNullOrUndefined) \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment