| Index: src/compiler/machine-operator-reducer.cc
|
| diff --git a/src/compiler/machine-operator-reducer.cc b/src/compiler/machine-operator-reducer.cc
|
| index 19ea06205361fef01f29d5a2dc22e6067de10554..3ff3b5661984f90c0f6dc77e09ab0644cbfb6d4b 100644
|
| --- a/src/compiler/machine-operator-reducer.cc
|
| +++ b/src/compiler/machine-operator-reducer.cc
|
| @@ -438,6 +438,7 @@ Reduction MachineOperatorReducer::Reduce(Node* node) {
|
| case IrOpcode::kFloat64InsertHighWord32:
|
| return ReduceFloat64InsertHighWord32(node);
|
| case IrOpcode::kStore:
|
| + case IrOpcode::kUnalignedStore:
|
| return ReduceStore(node);
|
| case IrOpcode::kFloat64Equal:
|
| case IrOpcode::kFloat64LessThan:
|
| @@ -677,9 +678,21 @@ Reduction MachineOperatorReducer::ReduceTruncateFloat64ToInt32(Node* node) {
|
|
|
|
|
| Reduction MachineOperatorReducer::ReduceStore(Node* node) {
|
| - MachineRepresentation const rep =
|
| - StoreRepresentationOf(node->op()).representation();
|
| + MachineRepresentation rep;
|
| Node* const value = node->InputAt(2);
|
| +
|
| + switch (node->opcode()) {
|
| + case IrOpcode::kStore:
|
| + rep = StoreRepresentationOf(node->op()).representation();
|
| + break;
|
| + case IrOpcode::kUnalignedStore:
|
| + rep = UnalignedStoreRepresentationOf(node->op());
|
| + break;
|
| + default:
|
| + UNREACHABLE();
|
| + break;
|
| + }
|
| +
|
| switch (value->opcode()) {
|
| case IrOpcode::kWord32And: {
|
| Uint32BinopMatcher m(value);
|
|
|