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

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

Issue 2849463003: [wasm] Implement Generic S128 Load/Store, logical ops and Horizontal add (Closed)
Patch Set: Zvi's review Created 3 years, 7 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
« no previous file with comments | « src/compiler/x64/instruction-codes-x64.h ('k') | src/compiler/x64/instruction-selector-x64.cc » ('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 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 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 case kX64Lea32: 122 case kX64Lea32:
123 case kX64Lea: 123 case kX64Lea:
124 case kX64Dec32: 124 case kX64Dec32:
125 case kX64Inc32: 125 case kX64Inc32:
126 case kX64I32x4Splat: 126 case kX64I32x4Splat:
127 case kX64I32x4ExtractLane: 127 case kX64I32x4ExtractLane:
128 case kX64I32x4ReplaceLane: 128 case kX64I32x4ReplaceLane:
129 case kX64I32x4Shl: 129 case kX64I32x4Shl:
130 case kX64I32x4ShrS: 130 case kX64I32x4ShrS:
131 case kX64I32x4Add: 131 case kX64I32x4Add:
132 case kX64I32x4AddHoriz:
132 case kX64I32x4Sub: 133 case kX64I32x4Sub:
133 case kX64I32x4Mul: 134 case kX64I32x4Mul:
134 case kX64I32x4MinS: 135 case kX64I32x4MinS:
135 case kX64I32x4MaxS: 136 case kX64I32x4MaxS:
136 case kX64I32x4Eq: 137 case kX64I32x4Eq:
137 case kX64I32x4Ne: 138 case kX64I32x4Ne:
138 case kX64I32x4ShrU: 139 case kX64I32x4ShrU:
139 case kX64I32x4MinU: 140 case kX64I32x4MinU:
140 case kX64I32x4MaxU: 141 case kX64I32x4MaxU:
141 case kX64I16x8Splat: 142 case kX64I16x8Splat:
142 case kX64I16x8ExtractLane: 143 case kX64I16x8ExtractLane:
143 case kX64I16x8ReplaceLane: 144 case kX64I16x8ReplaceLane:
144 case kX64I16x8Shl: 145 case kX64I16x8Shl:
145 case kX64I16x8ShrS: 146 case kX64I16x8ShrS:
146 case kX64I16x8Add: 147 case kX64I16x8Add:
147 case kX64I16x8AddSaturateS: 148 case kX64I16x8AddSaturateS:
149 case kX64I16x8AddHoriz:
148 case kX64I16x8Sub: 150 case kX64I16x8Sub:
149 case kX64I16x8SubSaturateS: 151 case kX64I16x8SubSaturateS:
150 case kX64I16x8Mul: 152 case kX64I16x8Mul:
151 case kX64I16x8MinS: 153 case kX64I16x8MinS:
152 case kX64I16x8MaxS: 154 case kX64I16x8MaxS:
153 case kX64I16x8Eq: 155 case kX64I16x8Eq:
154 case kX64I16x8Ne: 156 case kX64I16x8Ne:
155 case kX64I16x8ShrU: 157 case kX64I16x8ShrU:
156 case kX64I16x8AddSaturateU: 158 case kX64I16x8AddSaturateU:
157 case kX64I16x8SubSaturateU: 159 case kX64I16x8SubSaturateU:
158 case kX64I16x8MinU: 160 case kX64I16x8MinU:
159 case kX64I16x8MaxU: 161 case kX64I16x8MaxU:
160 case kX64I8x16Splat: 162 case kX64I8x16Splat:
161 case kX64I8x16ExtractLane: 163 case kX64I8x16ExtractLane:
162 case kX64I8x16ReplaceLane: 164 case kX64I8x16ReplaceLane:
163 case kX64I8x16Add: 165 case kX64I8x16Add:
164 case kX64I8x16AddSaturateS: 166 case kX64I8x16AddSaturateS:
165 case kX64I8x16Sub: 167 case kX64I8x16Sub:
166 case kX64I8x16SubSaturateS: 168 case kX64I8x16SubSaturateS:
167 case kX64I8x16MinS: 169 case kX64I8x16MinS:
168 case kX64I8x16MaxS: 170 case kX64I8x16MaxS:
169 case kX64I8x16Eq: 171 case kX64I8x16Eq:
170 case kX64I8x16Ne: 172 case kX64I8x16Ne:
171 case kX64I8x16AddSaturateU: 173 case kX64I8x16AddSaturateU:
172 case kX64I8x16SubSaturateU: 174 case kX64I8x16SubSaturateU:
173 case kX64I8x16MinU: 175 case kX64I8x16MinU:
174 case kX64I8x16MaxU: 176 case kX64I8x16MaxU:
177 case kX64S128And:
178 case kX64S128Or:
179 case kX64S128Xor:
180 case kX64S128Not:
175 case kX64S128Select: 181 case kX64S128Select:
176 case kX64S128Zero: 182 case kX64S128Zero:
177 return (instr->addressing_mode() == kMode_None) 183 return (instr->addressing_mode() == kMode_None)
178 ? kNoOpcodeFlags 184 ? kNoOpcodeFlags
179 : kIsLoadOperation | kHasSideEffect; 185 : kIsLoadOperation | kHasSideEffect;
180 186
181 case kX64Idiv: 187 case kX64Idiv:
182 case kX64Idiv32: 188 case kX64Idiv32:
183 case kX64Udiv: 189 case kX64Udiv:
184 case kX64Udiv32: 190 case kX64Udiv32:
(...skipping 23 matching lines...) Expand all
208 DCHECK(instr->InputCount() >= 1); 214 DCHECK(instr->InputCount() >= 1);
209 return instr->InputAt(0)->IsRegister() ? kNoOpcodeFlags 215 return instr->InputAt(0)->IsRegister() ? kNoOpcodeFlags
210 : kIsLoadOperation; 216 : kIsLoadOperation;
211 } else { 217 } else {
212 return kHasSideEffect; 218 return kHasSideEffect;
213 } 219 }
214 220
215 case kX64Movq: 221 case kX64Movq:
216 case kX64Movsd: 222 case kX64Movsd:
217 case kX64Movss: 223 case kX64Movss:
224 case kX64Movdqu:
218 return instr->HasOutput() ? kIsLoadOperation : kHasSideEffect; 225 return instr->HasOutput() ? kIsLoadOperation : kHasSideEffect;
219 226
220 case kX64StackCheck: 227 case kX64StackCheck:
221 return kIsLoadOperation; 228 return kIsLoadOperation;
222 229
223 case kX64Push: 230 case kX64Push:
224 case kX64Poke: 231 case kX64Poke:
225 return kHasSideEffect; 232 return kHasSideEffect;
226 233
227 #define CASE(Name) case k##Name: 234 #define CASE(Name) case k##Name:
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
306 case kArchTruncateDoubleToI: 313 case kArchTruncateDoubleToI:
307 return 6; 314 return 6;
308 default: 315 default:
309 return 1; 316 return 1;
310 } 317 }
311 } 318 }
312 319
313 } // namespace compiler 320 } // namespace compiler
314 } // namespace internal 321 } // namespace internal
315 } // namespace v8 322 } // namespace v8
OLDNEW
« no previous file with comments | « src/compiler/x64/instruction-codes-x64.h ('k') | src/compiler/x64/instruction-selector-x64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698