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

Side by Side Diff: src/compiler/s390/instruction-scheduler-s390.cc

Issue 2045943002: [compiler] [wasm] Introduce Word32/64ReverseBytes as TF Optional Opcode (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: update on store and some optimization on load Created 4 years, 6 months 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
OLDNEW
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/compiler/instruction-scheduler.h" 5 #include "src/compiler/instruction-scheduler.h"
6 6
7 namespace v8 { 7 namespace v8 {
8 namespace internal { 8 namespace internal {
9 namespace compiler { 9 namespace compiler {
10 10
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
113 case kS390_DoubleToFloat32: 113 case kS390_DoubleToFloat32:
114 case kS390_DoubleExtractLowWord32: 114 case kS390_DoubleExtractLowWord32:
115 case kS390_DoubleExtractHighWord32: 115 case kS390_DoubleExtractHighWord32:
116 case kS390_DoubleInsertLowWord32: 116 case kS390_DoubleInsertLowWord32:
117 case kS390_DoubleInsertHighWord32: 117 case kS390_DoubleInsertHighWord32:
118 case kS390_DoubleConstruct: 118 case kS390_DoubleConstruct:
119 case kS390_BitcastInt32ToFloat32: 119 case kS390_BitcastInt32ToFloat32:
120 case kS390_BitcastFloat32ToInt32: 120 case kS390_BitcastFloat32ToInt32:
121 case kS390_BitcastInt64ToDouble: 121 case kS390_BitcastInt64ToDouble:
122 case kS390_BitcastDoubleToInt64: 122 case kS390_BitcastDoubleToInt64:
123 case kS390_LoadReverse16RR:
124 case kS390_LoadReverse32RR:
125 case kS390_LoadReverse64RR:
123 return kNoOpcodeFlags; 126 return kNoOpcodeFlags;
124 127
125 case kS390_LoadWordS8: 128 case kS390_LoadWordS8:
126 case kS390_LoadWordU8: 129 case kS390_LoadWordU8:
127 case kS390_LoadWordS16: 130 case kS390_LoadWordS16:
128 case kS390_LoadWordU16: 131 case kS390_LoadWordU16:
129 case kS390_LoadWordS32: 132 case kS390_LoadWordS32:
130 case kS390_LoadWordU32: 133 case kS390_LoadWordU32:
131 case kS390_LoadWord64: 134 case kS390_LoadWord64:
132 case kS390_LoadFloat32: 135 case kS390_LoadFloat32:
133 case kS390_LoadDouble: 136 case kS390_LoadDouble:
137 case kS390_LoadReverse16:
138 case kS390_LoadReverse32:
139 case kS390_LoadReverse64:
134 return kIsLoadOperation; 140 return kIsLoadOperation;
135 141
136 case kS390_StoreWord8: 142 case kS390_StoreWord8:
137 case kS390_StoreWord16: 143 case kS390_StoreWord16:
138 case kS390_StoreWord32: 144 case kS390_StoreWord32:
139 case kS390_StoreWord64: 145 case kS390_StoreWord64:
146 case kS390_StoreReverse16:
147 case kS390_StoreReverse32:
148 case kS390_StoreReverse64:
140 case kS390_StoreFloat32: 149 case kS390_StoreFloat32:
141 case kS390_StoreDouble: 150 case kS390_StoreDouble:
142 case kS390_Push: 151 case kS390_Push:
143 case kS390_PushFrame: 152 case kS390_PushFrame:
144 case kS390_StoreToStackSlot: 153 case kS390_StoreToStackSlot:
145 return kHasSideEffect; 154 return kHasSideEffect;
146 155
147 #define CASE(Name) case k##Name: 156 #define CASE(Name) case k##Name:
148 COMMON_ARCH_OPCODE_LIST(CASE) 157 COMMON_ARCH_OPCODE_LIST(CASE)
149 #undef CASE 158 #undef CASE
150 // Already covered in architecture independent code. 159 // Already covered in architecture independent code.
151 UNREACHABLE(); 160 UNREACHABLE();
152 } 161 }
153 162
154 UNREACHABLE(); 163 UNREACHABLE();
155 return kNoOpcodeFlags; 164 return kNoOpcodeFlags;
156 } 165 }
157 166
158 int InstructionScheduler::GetInstructionLatency(const Instruction* instr) { 167 int InstructionScheduler::GetInstructionLatency(const Instruction* instr) {
159 // TODO(all): Add instruction cost modeling. 168 // TODO(all): Add instruction cost modeling.
160 return 1; 169 return 1;
161 } 170 }
162 171
163 } // namespace compiler 172 } // namespace compiler
164 } // namespace internal 173 } // namespace internal
165 } // namespace v8 174 } // namespace v8
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698