| Index: src/compiler/ppc/instruction-selector-ppc.cc
|
| diff --git a/src/compiler/ppc/instruction-selector-ppc.cc b/src/compiler/ppc/instruction-selector-ppc.cc
|
| index 82fc98d7bc657b150528364977cb433d54b291c5..9ee31037623171ba2d76e9a7c560ef7aab19d3eb 100644
|
| --- a/src/compiler/ppc/instruction-selector-ppc.cc
|
| +++ b/src/compiler/ppc/instruction-selector-ppc.cc
|
| @@ -165,7 +165,7 @@ void InstructionSelector::VisitLoad(Node* node) {
|
| PPCOperandGenerator g(this);
|
| Node* base = node->InputAt(0);
|
| Node* offset = node->InputAt(1);
|
| - ArchOpcode opcode;
|
| + ArchOpcode opcode = kArchNop;
|
| ImmediateMode mode = kInt16Imm;
|
| switch (load_rep.representation()) {
|
| case MachineRepresentation::kFloat32:
|
| @@ -197,9 +197,8 @@ void InstructionSelector::VisitLoad(Node* node) {
|
| opcode = kPPC_LoadWord64;
|
| mode = kInt16Imm_4ByteAligned;
|
| break;
|
| -#endif
|
| -#if !V8_TARGET_ARCH_PPC64
|
| - case MachineRepresentation::kWord64:
|
| +#else
|
| + case MachineRepresentation::kWord64: // Fall through.
|
| #endif
|
| case MachineRepresentation::kNone:
|
| UNREACHABLE();
|
| @@ -259,7 +258,7 @@ void InstructionSelector::VisitStore(Node* node) {
|
| code |= MiscField::encode(static_cast<int>(record_write_mode));
|
| Emit(code, 0, nullptr, input_count, inputs, temp_count, temps);
|
| } else {
|
| - ArchOpcode opcode;
|
| + ArchOpcode opcode = kArchNop;
|
| ImmediateMode mode = kInt16Imm;
|
| switch (rep) {
|
| case MachineRepresentation::kFloat32:
|
| @@ -287,8 +286,10 @@ void InstructionSelector::VisitStore(Node* node) {
|
| opcode = kPPC_StoreWord64;
|
| mode = kInt16Imm_4ByteAligned;
|
| break;
|
| +#else
|
| + case MachineRepresentation::kWord64: // Fall through.
|
| #endif
|
| - default:
|
| + case MachineRepresentation::kNone:
|
| UNREACHABLE();
|
| return;
|
| }
|
| @@ -312,7 +313,7 @@ void InstructionSelector::VisitCheckedLoad(Node* node) {
|
| Node* const base = node->InputAt(0);
|
| Node* const offset = node->InputAt(1);
|
| Node* const length = node->InputAt(2);
|
| - ArchOpcode opcode;
|
| + ArchOpcode opcode = kArchNop;
|
| switch (load_rep.representation()) {
|
| case MachineRepresentation::kWord8:
|
| opcode = load_rep.IsSigned() ? kCheckedLoadInt8 : kCheckedLoadUint8;
|
| @@ -323,16 +324,23 @@ void InstructionSelector::VisitCheckedLoad(Node* node) {
|
| case MachineRepresentation::kWord32:
|
| opcode = kCheckedLoadWord32;
|
| break;
|
| +#if V8_TARGET_ARCH_PPC64
|
| case MachineRepresentation::kWord64:
|
| opcode = kCheckedLoadWord64;
|
| break;
|
| +#endif
|
| case MachineRepresentation::kFloat32:
|
| opcode = kCheckedLoadFloat32;
|
| break;
|
| case MachineRepresentation::kFloat64:
|
| opcode = kCheckedLoadFloat64;
|
| break;
|
| - default:
|
| + case MachineRepresentation::kBit: // Fall through.
|
| + case MachineRepresentation::kTagged: // Fall through.
|
| +#if !V8_TARGET_ARCH_PPC64
|
| + case MachineRepresentation::kWord64: // Fall through.
|
| +#endif
|
| + case MachineRepresentation::kNone:
|
| UNREACHABLE();
|
| return;
|
| }
|
| @@ -350,7 +358,7 @@ void InstructionSelector::VisitCheckedStore(Node* node) {
|
| Node* const offset = node->InputAt(1);
|
| Node* const length = node->InputAt(2);
|
| Node* const value = node->InputAt(3);
|
| - ArchOpcode opcode;
|
| + ArchOpcode opcode = kArchNop;
|
| switch (rep) {
|
| case MachineRepresentation::kWord8:
|
| opcode = kCheckedStoreWord8;
|
| @@ -361,16 +369,23 @@ void InstructionSelector::VisitCheckedStore(Node* node) {
|
| case MachineRepresentation::kWord32:
|
| opcode = kCheckedStoreWord32;
|
| break;
|
| +#if V8_TARGET_ARCH_PPC64
|
| case MachineRepresentation::kWord64:
|
| opcode = kCheckedStoreWord64;
|
| break;
|
| +#endif
|
| case MachineRepresentation::kFloat32:
|
| opcode = kCheckedStoreFloat32;
|
| break;
|
| case MachineRepresentation::kFloat64:
|
| opcode = kCheckedStoreFloat64;
|
| break;
|
| - default:
|
| + case MachineRepresentation::kBit: // Fall through.
|
| + case MachineRepresentation::kTagged: // Fall through.
|
| +#if !V8_TARGET_ARCH_PPC64
|
| + case MachineRepresentation::kWord64: // Fall through.
|
| +#endif
|
| + case MachineRepresentation::kNone:
|
| UNREACHABLE();
|
| return;
|
| }
|
|
|