Index: src/compiler/representation-change.cc |
diff --git a/src/compiler/representation-change.cc b/src/compiler/representation-change.cc |
index 5c0187e697754653b9128c2859af25e29983a538..049ddfa05f77324ecf9ff33e7fdcc28fa98b3373 100644 |
--- a/src/compiler/representation-change.cc |
+++ b/src/compiler/representation-change.cc |
@@ -457,7 +457,7 @@ Node* RepresentationChanger::GetWord32RepresentationFor( |
} else if (output_type->Is(Type::Signed32())) { |
op = simplified()->ChangeTaggedToInt32(); |
} else if (use_info.truncation().IsUsedAsWord32()) { |
- if (use_info.type_check() == TypeCheckKind::kNumberOrOddball) { |
+ if (use_info.type_check() != TypeCheckKind::kNone) { |
op = simplified()->CheckedTruncateTaggedToWord32(); |
} else { |
op = simplified()->TruncateTaggedToWord32(); |
@@ -568,10 +568,13 @@ const Operator* RepresentationChanger::Int32OperatorFor( |
case IrOpcode::kSpeculativeNumberModulus: |
case IrOpcode::kNumberModulus: |
return machine()->Int32Mod(); |
+ case IrOpcode::kSpeculativeNumberBitwiseOr: // Fall through. |
case IrOpcode::kNumberBitwiseOr: |
return machine()->Word32Or(); |
+ case IrOpcode::kSpeculativeNumberBitwiseXor: // Fall through. |
case IrOpcode::kNumberBitwiseXor: |
return machine()->Word32Xor(); |
+ case IrOpcode::kSpeculativeNumberBitwiseAnd: // Fall through. |
case IrOpcode::kNumberBitwiseAnd: |
return machine()->Word32And(); |
case IrOpcode::kNumberEqual: |