| Index: src/compiler/mips64/instruction-selector-mips64.cc
|
| diff --git a/src/compiler/mips64/instruction-selector-mips64.cc b/src/compiler/mips64/instruction-selector-mips64.cc
|
| index c3284aa7ac6b0e08743c4997acac82311d3c6fa9..6fab8ab884c9d5caef00a87d0812cafcfc42e292 100644
|
| --- a/src/compiler/mips64/instruction-selector-mips64.cc
|
| +++ b/src/compiler/mips64/instruction-selector-mips64.cc
|
| @@ -579,9 +579,17 @@ void InstructionSelector::VisitWord32ReverseBits(Node* node) { UNREACHABLE(); }
|
|
|
| void InstructionSelector::VisitWord64ReverseBits(Node* node) { UNREACHABLE(); }
|
|
|
| -void InstructionSelector::VisitWord64ReverseBytes(Node* node) { UNREACHABLE(); }
|
| +void InstructionSelector::VisitWord64ReverseBytes(Node* node) {
|
| + Mips64OperandGenerator g(this);
|
| + Emit(kMips64ByteSwap64, g.DefineAsRegister(node),
|
| + g.UseRegister(node->InputAt(0)));
|
| +}
|
|
|
| -void InstructionSelector::VisitWord32ReverseBytes(Node* node) { UNREACHABLE(); }
|
| +void InstructionSelector::VisitWord32ReverseBytes(Node* node) {
|
| + Mips64OperandGenerator g(this);
|
| + Emit(kMips64ByteSwap32, g.DefineAsRegister(node),
|
| + g.UseRegister(node->InputAt(0)));
|
| +}
|
|
|
| void InstructionSelector::VisitWord32Ctz(Node* node) {
|
| Mips64OperandGenerator g(this);
|
| @@ -2125,7 +2133,9 @@ InstructionSelector::SupportedMachineOperatorFlags() {
|
| MachineOperatorBuilder::kFloat64RoundTruncate |
|
| MachineOperatorBuilder::kFloat32RoundTruncate |
|
| MachineOperatorBuilder::kFloat64RoundTiesEven |
|
| - MachineOperatorBuilder::kFloat32RoundTiesEven;
|
| + MachineOperatorBuilder::kFloat32RoundTiesEven |
|
| + MachineOperatorBuilder::kWord32ReverseBytes |
|
| + MachineOperatorBuilder::kWord64ReverseBytes;
|
| }
|
|
|
| // static
|
|
|