Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(907)

Side by Side Diff: src/compiler/mips64/instruction-selector-mips64.cc

Issue 2505923002: MIPS64: Port "Reland of "MIPS: Optimize load/store with large offset"". (Closed)
Patch Set: Remove unnecessary check for Float64 instructions Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | src/mips64/assembler-mips64.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 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/base/bits.h" 6 #include "src/base/bits.h"
7 #include "src/compiler/instruction-selector-impl.h" 7 #include "src/compiler/instruction-selector-impl.h"
8 #include "src/compiler/node-matchers.h" 8 #include "src/compiler/node-matchers.h"
9 #include "src/compiler/node-properties.h" 9 #include "src/compiler/node-properties.h"
10 10
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
85 return is_uint6(value); 85 return is_uint6(value);
86 case kMips64Add: 86 case kMips64Add:
87 case kMips64And32: 87 case kMips64And32:
88 case kMips64And: 88 case kMips64And:
89 case kMips64Dadd: 89 case kMips64Dadd:
90 case kMips64Or32: 90 case kMips64Or32:
91 case kMips64Or: 91 case kMips64Or:
92 case kMips64Tst: 92 case kMips64Tst:
93 case kMips64Xor: 93 case kMips64Xor:
94 return is_uint16(value); 94 return is_uint16(value);
95 case kMips64Lb:
96 case kMips64Lbu:
97 case kMips64Sb:
98 case kMips64Lh:
99 case kMips64Lhu:
100 case kMips64Sh:
101 case kMips64Lw:
102 case kMips64Sw:
103 case kMips64Ld:
104 case kMips64Sd:
105 case kMips64Lwc1:
106 case kMips64Swc1:
95 case kMips64Ldc1: 107 case kMips64Ldc1:
96 case kMips64Sdc1: 108 case kMips64Sdc1:
97 return is_int16(value + kIntSize); 109 case kCheckedLoadInt8:
110 case kCheckedLoadUint8:
111 case kCheckedLoadInt16:
112 case kCheckedLoadUint16:
113 case kCheckedLoadWord32:
114 case kCheckedLoadWord64:
115 case kCheckedStoreWord8:
116 case kCheckedStoreWord16:
117 case kCheckedStoreWord32:
118 case kCheckedStoreWord64:
119 case kCheckedLoadFloat32:
120 case kCheckedLoadFloat64:
121 case kCheckedStoreFloat32:
122 case kCheckedStoreFloat64:
123 return is_int32(value);
98 default: 124 default:
99 return is_int16(value); 125 return is_int16(value);
100 } 126 }
101 } 127 }
102 128
103 private: 129 private:
104 bool ImmediateFitsAddrMode1Instruction(int32_t imm) const { 130 bool ImmediateFitsAddrMode1Instruction(int32_t imm) const {
105 TRACE_UNIMPL(); 131 TRACE_UNIMPL();
106 return false; 132 return false;
107 } 133 }
(...skipping 2491 matching lines...) Expand 10 before | Expand all | Expand 10 after
2599 } else { 2625 } else {
2600 DCHECK(kArchVariant == kMips64r2); 2626 DCHECK(kArchVariant == kMips64r2);
2601 return MachineOperatorBuilder::AlignmentRequirements:: 2627 return MachineOperatorBuilder::AlignmentRequirements::
2602 NoUnalignedAccessSupport(); 2628 NoUnalignedAccessSupport();
2603 } 2629 }
2604 } 2630 }
2605 2631
2606 } // namespace compiler 2632 } // namespace compiler
2607 } // namespace internal 2633 } // namespace internal
2608 } // namespace v8 2634 } // namespace v8
OLDNEW
« no previous file with comments | « no previous file | src/mips64/assembler-mips64.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698