| OLD | NEW | 
|---|
| 1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 the V8 project authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #include "src/base/adapters.h" | 5 #include "src/base/adapters.h" | 
| 6 #include "src/compiler/instruction-selector-impl.h" | 6 #include "src/compiler/instruction-selector-impl.h" | 
| 7 #include "src/compiler/node-matchers.h" | 7 #include "src/compiler/node-matchers.h" | 
| 8 #include "src/compiler/node-properties.h" | 8 #include "src/compiler/node-properties.h" | 
| 9 #include "src/s390/frames-s390.h" | 9 #include "src/s390/frames-s390.h" | 
| 10 | 10 | 
| (...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 234     case MachineRepresentation::kTaggedSigned:   // Fall through. | 234     case MachineRepresentation::kTaggedSigned:   // Fall through. | 
| 235     case MachineRepresentation::kTaggedPointer:  // Fall through. | 235     case MachineRepresentation::kTaggedPointer:  // Fall through. | 
| 236     case MachineRepresentation::kTagged:         // Fall through. | 236     case MachineRepresentation::kTagged:         // Fall through. | 
| 237     case MachineRepresentation::kWord64: | 237     case MachineRepresentation::kWord64: | 
| 238       opcode = kS390_LoadWord64; | 238       opcode = kS390_LoadWord64; | 
| 239       break; | 239       break; | 
| 240 #else | 240 #else | 
| 241     case MachineRepresentation::kWord64:  // Fall through. | 241     case MachineRepresentation::kWord64:  // Fall through. | 
| 242 #endif | 242 #endif | 
| 243     case MachineRepresentation::kSimd128:  // Fall through. | 243     case MachineRepresentation::kSimd128:  // Fall through. | 
|  | 244     case MachineRepresentation::kSimd1x4:  // Fall through. | 
|  | 245     case MachineRepresentation::kSimd1x8:  // Fall through. | 
|  | 246     case MachineRepresentation::kSimd1x16:  // Fall through. | 
| 244     case MachineRepresentation::kNone: | 247     case MachineRepresentation::kNone: | 
| 245     default: | 248     default: | 
| 246       UNREACHABLE(); | 249       UNREACHABLE(); | 
| 247   } | 250   } | 
| 248   return opcode; | 251   return opcode; | 
| 249 } | 252 } | 
| 250 | 253 | 
| 251 bool AutoZeroExtendsWord32ToWord64(Node* node) { | 254 bool AutoZeroExtendsWord32ToWord64(Node* node) { | 
| 252 #if !V8_TARGET_ARCH_S390X | 255 #if !V8_TARGET_ARCH_S390X | 
| 253   return true; | 256   return true; | 
| (...skipping 433 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 687         opcode = kS390_StoreWord64; | 690         opcode = kS390_StoreWord64; | 
| 688         if (m.IsWord64ReverseBytes()) { | 691         if (m.IsWord64ReverseBytes()) { | 
| 689           opcode = kS390_StoreReverse64; | 692           opcode = kS390_StoreReverse64; | 
| 690           value = value->InputAt(0); | 693           value = value->InputAt(0); | 
| 691         } | 694         } | 
| 692         break; | 695         break; | 
| 693 #else | 696 #else | 
| 694       case MachineRepresentation::kWord64:  // Fall through. | 697       case MachineRepresentation::kWord64:  // Fall through. | 
| 695 #endif | 698 #endif | 
| 696       case MachineRepresentation::kSimd128:  // Fall through. | 699       case MachineRepresentation::kSimd128:  // Fall through. | 
|  | 700       case MachineRepresentation::kSimd1x4:  // Fall through. | 
|  | 701       case MachineRepresentation::kSimd1x8:  // Fall through. | 
|  | 702       case MachineRepresentation::kSimd1x16:  // Fall through. | 
| 697       case MachineRepresentation::kNone: | 703       case MachineRepresentation::kNone: | 
| 698         UNREACHABLE(); | 704         UNREACHABLE(); | 
| 699         return; | 705         return; | 
| 700     } | 706     } | 
| 701     InstructionOperand inputs[4]; | 707     InstructionOperand inputs[4]; | 
| 702     size_t input_count = 0; | 708     size_t input_count = 0; | 
| 703     AddressingMode addressing_mode = | 709     AddressingMode addressing_mode = | 
| 704         g.GetEffectiveAddressMemoryOperand(node, inputs, &input_count); | 710         g.GetEffectiveAddressMemoryOperand(node, inputs, &input_count); | 
| 705     InstructionCode code = | 711     InstructionCode code = | 
| 706         opcode | AddressingModeField::encode(addressing_mode); | 712         opcode | AddressingModeField::encode(addressing_mode); | 
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 751       opcode = kCheckedLoadFloat64; | 757       opcode = kCheckedLoadFloat64; | 
| 752       break; | 758       break; | 
| 753     case MachineRepresentation::kBit:     // Fall through. | 759     case MachineRepresentation::kBit:     // Fall through. | 
| 754     case MachineRepresentation::kTaggedSigned:   // Fall through. | 760     case MachineRepresentation::kTaggedSigned:   // Fall through. | 
| 755     case MachineRepresentation::kTaggedPointer:  // Fall through. | 761     case MachineRepresentation::kTaggedPointer:  // Fall through. | 
| 756     case MachineRepresentation::kTagged:  // Fall through. | 762     case MachineRepresentation::kTagged:  // Fall through. | 
| 757 #if !V8_TARGET_ARCH_S390X | 763 #if !V8_TARGET_ARCH_S390X | 
| 758     case MachineRepresentation::kWord64:  // Fall through. | 764     case MachineRepresentation::kWord64:  // Fall through. | 
| 759 #endif | 765 #endif | 
| 760     case MachineRepresentation::kSimd128:  // Fall through. | 766     case MachineRepresentation::kSimd128:  // Fall through. | 
|  | 767     case MachineRepresentation::kSimd1x4:  // Fall through. | 
|  | 768     case MachineRepresentation::kSimd1x8:  // Fall through. | 
|  | 769     case MachineRepresentation::kSimd1x16:  // Fall through. | 
| 761     case MachineRepresentation::kNone: | 770     case MachineRepresentation::kNone: | 
| 762       UNREACHABLE(); | 771       UNREACHABLE(); | 
| 763       return; | 772       return; | 
| 764   } | 773   } | 
| 765   AddressingMode addressingMode = kMode_MRR; | 774   AddressingMode addressingMode = kMode_MRR; | 
| 766   Emit(opcode | AddressingModeField::encode(addressingMode), | 775   Emit(opcode | AddressingModeField::encode(addressingMode), | 
| 767        g.DefineAsRegister(node), g.UseRegister(base), g.UseRegister(offset), | 776        g.DefineAsRegister(node), g.UseRegister(base), g.UseRegister(offset), | 
| 768        g.UseOperand(length, OperandMode::kUint32Imm)); | 777        g.UseOperand(length, OperandMode::kUint32Imm)); | 
| 769 } | 778 } | 
| 770 | 779 | 
| (...skipping 27 matching lines...) Expand all  Loading... | 
| 798       opcode = kCheckedStoreFloat64; | 807       opcode = kCheckedStoreFloat64; | 
| 799       break; | 808       break; | 
| 800     case MachineRepresentation::kBit:     // Fall through. | 809     case MachineRepresentation::kBit:     // Fall through. | 
| 801     case MachineRepresentation::kTaggedSigned:   // Fall through. | 810     case MachineRepresentation::kTaggedSigned:   // Fall through. | 
| 802     case MachineRepresentation::kTaggedPointer:  // Fall through. | 811     case MachineRepresentation::kTaggedPointer:  // Fall through. | 
| 803     case MachineRepresentation::kTagged:  // Fall through. | 812     case MachineRepresentation::kTagged:  // Fall through. | 
| 804 #if !V8_TARGET_ARCH_S390X | 813 #if !V8_TARGET_ARCH_S390X | 
| 805     case MachineRepresentation::kWord64:  // Fall through. | 814     case MachineRepresentation::kWord64:  // Fall through. | 
| 806 #endif | 815 #endif | 
| 807     case MachineRepresentation::kSimd128:  // Fall through. | 816     case MachineRepresentation::kSimd128:  // Fall through. | 
|  | 817     case MachineRepresentation::kSimd1x4:  // Fall through. | 
|  | 818     case MachineRepresentation::kSimd1x8:  // Fall through. | 
|  | 819     case MachineRepresentation::kSimd1x16:  // Fall through. | 
| 808     case MachineRepresentation::kNone: | 820     case MachineRepresentation::kNone: | 
| 809       UNREACHABLE(); | 821       UNREACHABLE(); | 
| 810       return; | 822       return; | 
| 811   } | 823   } | 
| 812   AddressingMode addressingMode = kMode_MRR; | 824   AddressingMode addressingMode = kMode_MRR; | 
| 813   Emit(opcode | AddressingModeField::encode(addressingMode), g.NoOutput(), | 825   Emit(opcode | AddressingModeField::encode(addressingMode), g.NoOutput(), | 
| 814        g.UseRegister(base), g.UseRegister(offset), | 826        g.UseRegister(base), g.UseRegister(offset), | 
| 815        g.UseOperand(length, OperandMode::kUint32Imm), g.UseRegister(value)); | 827        g.UseOperand(length, OperandMode::kUint32Imm), g.UseRegister(value)); | 
| 816 } | 828 } | 
| 817 | 829 | 
| (...skipping 1501 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 2319 // static | 2331 // static | 
| 2320 MachineOperatorBuilder::AlignmentRequirements | 2332 MachineOperatorBuilder::AlignmentRequirements | 
| 2321 InstructionSelector::AlignmentRequirements() { | 2333 InstructionSelector::AlignmentRequirements() { | 
| 2322   return MachineOperatorBuilder::AlignmentRequirements:: | 2334   return MachineOperatorBuilder::AlignmentRequirements:: | 
| 2323       FullUnalignedAccessSupport(); | 2335       FullUnalignedAccessSupport(); | 
| 2324 } | 2336 } | 
| 2325 | 2337 | 
| 2326 }  // namespace compiler | 2338 }  // namespace compiler | 
| 2327 }  // namespace internal | 2339 }  // namespace internal | 
| 2328 }  // namespace v8 | 2340 }  // namespace v8 | 
| OLD | NEW | 
|---|