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

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

Issue 2951793003: [wasm] Implement remaining SIMD x64 compare ops, unops. (Closed)
Patch Set: Bill's review Created 3 years, 5 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 | « no previous file | src/compiler/x64/code-generator-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 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/compiler/instruction-selector.h" 5 #include "src/compiler/instruction-selector.h"
6 6
7 #include <limits> 7 #include <limits>
8 8
9 #include "src/assembler-inl.h" 9 #include "src/assembler-inl.h"
10 #include "src/base/adapters.h" 10 #include "src/base/adapters.h"
(...skipping 2164 matching lines...) Expand 10 before | Expand all | Expand 10 after
2175 void InstructionSelector::VisitI16x8SConvertI8x16High(Node* node) { 2175 void InstructionSelector::VisitI16x8SConvertI8x16High(Node* node) {
2176 UNIMPLEMENTED(); 2176 UNIMPLEMENTED();
2177 } 2177 }
2178 2178
2179 void InstructionSelector::VisitI16x8SConvertI32x4(Node* node) { 2179 void InstructionSelector::VisitI16x8SConvertI32x4(Node* node) {
2180 UNIMPLEMENTED(); 2180 UNIMPLEMENTED();
2181 } 2181 }
2182 #endif // !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_MIPS 2182 #endif // !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_MIPS
2183 // && !V8_TARGET_ARCH_MIPS64 2183 // && !V8_TARGET_ARCH_MIPS64
2184 2184
2185 #if !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_MIPS && \ 2185 #if !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_X64 && \
2186 !V8_TARGET_ARCH_MIPS64 2186 !V8_TARGET_ARCH_MIPS && !V8_TARGET_ARCH_MIPS64
2187 void InstructionSelector::VisitI32x4Neg(Node* node) { UNIMPLEMENTED(); } 2187 void InstructionSelector::VisitI32x4Neg(Node* node) { UNIMPLEMENTED(); }
2188 2188
2189 void InstructionSelector::VisitI32x4GtS(Node* node) { UNIMPLEMENTED(); } 2189 void InstructionSelector::VisitI32x4GtS(Node* node) { UNIMPLEMENTED(); }
2190 2190
2191 void InstructionSelector::VisitI32x4GeS(Node* node) { UNIMPLEMENTED(); } 2191 void InstructionSelector::VisitI32x4GeS(Node* node) { UNIMPLEMENTED(); }
2192 2192
2193 void InstructionSelector::VisitI32x4GtU(Node* node) { UNIMPLEMENTED(); } 2193 void InstructionSelector::VisitI32x4GtU(Node* node) { UNIMPLEMENTED(); }
2194 2194
2195 void InstructionSelector::VisitI32x4GeU(Node* node) { UNIMPLEMENTED(); } 2195 void InstructionSelector::VisitI32x4GeU(Node* node) { UNIMPLEMENTED(); }
2196 #endif // !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_MIPS
2197 // && !V8_TARGET_ARCH_MIPS64
2198 2196
2199 #if !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_X64 && \
2200 !V8_TARGET_ARCH_MIPS && !V8_TARGET_ARCH_MIPS64
2201 void InstructionSelector::VisitI16x8Splat(Node* node) { UNIMPLEMENTED(); } 2197 void InstructionSelector::VisitI16x8Splat(Node* node) { UNIMPLEMENTED(); }
2202 2198
2203 void InstructionSelector::VisitI16x8ExtractLane(Node* node) { UNIMPLEMENTED(); } 2199 void InstructionSelector::VisitI16x8ExtractLane(Node* node) { UNIMPLEMENTED(); }
2204 2200
2205 void InstructionSelector::VisitI16x8ReplaceLane(Node* node) { UNIMPLEMENTED(); } 2201 void InstructionSelector::VisitI16x8ReplaceLane(Node* node) { UNIMPLEMENTED(); }
2206 2202
2207 void InstructionSelector::VisitI16x8Shl(Node* node) { UNIMPLEMENTED(); } 2203 void InstructionSelector::VisitI16x8Shl(Node* node) { UNIMPLEMENTED(); }
2208 2204
2209 void InstructionSelector::VisitI16x8ShrS(Node* node) { UNIMPLEMENTED(); } 2205 void InstructionSelector::VisitI16x8ShrS(Node* node) { UNIMPLEMENTED(); }
2210 2206
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
2246 UNIMPLEMENTED(); 2242 UNIMPLEMENTED();
2247 } 2243 }
2248 2244
2249 void InstructionSelector::VisitI16x8SubSaturateU(Node* node) { 2245 void InstructionSelector::VisitI16x8SubSaturateU(Node* node) {
2250 UNIMPLEMENTED(); 2246 UNIMPLEMENTED();
2251 } 2247 }
2252 2248
2253 void InstructionSelector::VisitI16x8MinU(Node* node) { UNIMPLEMENTED(); } 2249 void InstructionSelector::VisitI16x8MinU(Node* node) { UNIMPLEMENTED(); }
2254 2250
2255 void InstructionSelector::VisitI16x8MaxU(Node* node) { UNIMPLEMENTED(); } 2251 void InstructionSelector::VisitI16x8MaxU(Node* node) { UNIMPLEMENTED(); }
2252
2253 void InstructionSelector::VisitI16x8Neg(Node* node) { UNIMPLEMENTED(); }
2256 #endif // !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_X64 2254 #endif // !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_X64
2257 // && !V8_TARGET_ARCH_MIPS && !V8_TARGET_ARCH_MIPS64 2255 // && !V8_TARGET_ARCH_MIPS && !V8_TARGET_ARCH_MIPS64
2258 2256
2259 #if !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_MIPS && \ 2257 #if !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_MIPS && \
2260 !V8_TARGET_ARCH_MIPS64 2258 !V8_TARGET_ARCH_MIPS64
2261 void InstructionSelector::VisitI16x8Neg(Node* node) { UNIMPLEMENTED(); }
2262 #endif // !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_MIPS
2263 // && !V8_TARGET_ARCH_MIPS64
2264
2265 #if !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_MIPS && \
2266 !V8_TARGET_ARCH_MIPS64
2267 void InstructionSelector::VisitI16x8UConvertI32x4(Node* node) { 2259 void InstructionSelector::VisitI16x8UConvertI32x4(Node* node) {
2268 UNIMPLEMENTED(); 2260 UNIMPLEMENTED();
2269 } 2261 }
2270 2262
2271 void InstructionSelector::VisitI16x8UConvertI8x16Low(Node* node) { 2263 void InstructionSelector::VisitI16x8UConvertI8x16Low(Node* node) {
2272 UNIMPLEMENTED(); 2264 UNIMPLEMENTED();
2273 } 2265 }
2274 2266
2275 void InstructionSelector::VisitI16x8UConvertI8x16High(Node* node) { 2267 void InstructionSelector::VisitI16x8UConvertI8x16High(Node* node) {
2276 UNIMPLEMENTED(); 2268 UNIMPLEMENTED();
2277 } 2269 }
2278 #endif // !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_MIPS 2270 #endif // !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_MIPS
2279 // && !V8_TARGET_ARCH_MIPS64 2271 // && !V8_TARGET_ARCH_MIPS64
2280 2272
2281 #if !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_MIPS && \ 2273 #if !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_X64 && \
2282 !V8_TARGET_ARCH_MIPS64 2274 !V8_TARGET_ARCH_MIPS && !V8_TARGET_ARCH_MIPS64
2283 void InstructionSelector::VisitI16x8GtS(Node* node) { UNIMPLEMENTED(); } 2275 void InstructionSelector::VisitI16x8GtS(Node* node) { UNIMPLEMENTED(); }
2284 2276
2285 void InstructionSelector::VisitI16x8GeS(Node* node) { UNIMPLEMENTED(); } 2277 void InstructionSelector::VisitI16x8GeS(Node* node) { UNIMPLEMENTED(); }
2286 2278
2287 void InstructionSelector::VisitI16x8GtU(Node* node) { UNIMPLEMENTED(); } 2279 void InstructionSelector::VisitI16x8GtU(Node* node) { UNIMPLEMENTED(); }
2288 2280
2289 void InstructionSelector::VisitI16x8GeU(Node* node) { UNIMPLEMENTED(); } 2281 void InstructionSelector::VisitI16x8GeU(Node* node) { UNIMPLEMENTED(); }
2290 2282
2291 void InstructionSelector::VisitI8x16Neg(Node* node) { UNIMPLEMENTED(); } 2283 void InstructionSelector::VisitI8x16Neg(Node* node) { UNIMPLEMENTED(); }
2284 #endif // !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_X64
2285 // && !V8_TARGET_ARCH_MIPS && !V8_TARGET_ARCH_MIPS64
2292 2286
2287 #if !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_MIPS && \
2288 !V8_TARGET_ARCH_MIPS64
2293 void InstructionSelector::VisitI8x16Shl(Node* node) { UNIMPLEMENTED(); } 2289 void InstructionSelector::VisitI8x16Shl(Node* node) { UNIMPLEMENTED(); }
2294 2290
2295 void InstructionSelector::VisitI8x16ShrS(Node* node) { UNIMPLEMENTED(); } 2291 void InstructionSelector::VisitI8x16ShrS(Node* node) { UNIMPLEMENTED(); }
2296 #endif // !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_MIPS 2292 #endif // !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_MIPS
2297 // && !V8_TARGET_ARCH_MIPS64 2293 // && !V8_TARGET_ARCH_MIPS64
2298 2294
2299 #if !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_X64 && \ 2295 #if !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_X64 && \
2300 !V8_TARGET_ARCH_MIPS && !V8_TARGET_ARCH_MIPS64 2296 !V8_TARGET_ARCH_MIPS && !V8_TARGET_ARCH_MIPS64
2301 void InstructionSelector::VisitI8x16Splat(Node* node) { UNIMPLEMENTED(); } 2297 void InstructionSelector::VisitI8x16Splat(Node* node) { UNIMPLEMENTED(); }
2302 2298
(...skipping 25 matching lines...) Expand all
2328 UNIMPLEMENTED(); 2324 UNIMPLEMENTED();
2329 } 2325 }
2330 2326
2331 void InstructionSelector::VisitI8x16MinS(Node* node) { UNIMPLEMENTED(); } 2327 void InstructionSelector::VisitI8x16MinS(Node* node) { UNIMPLEMENTED(); }
2332 2328
2333 void InstructionSelector::VisitI8x16MaxS(Node* node) { UNIMPLEMENTED(); } 2329 void InstructionSelector::VisitI8x16MaxS(Node* node) { UNIMPLEMENTED(); }
2334 2330
2335 void InstructionSelector::VisitI8x16Eq(Node* node) { UNIMPLEMENTED(); } 2331 void InstructionSelector::VisitI8x16Eq(Node* node) { UNIMPLEMENTED(); }
2336 2332
2337 void InstructionSelector::VisitI8x16Ne(Node* node) { UNIMPLEMENTED(); } 2333 void InstructionSelector::VisitI8x16Ne(Node* node) { UNIMPLEMENTED(); }
2334
2335 void InstructionSelector::VisitI8x16GtS(Node* node) { UNIMPLEMENTED(); }
2336
2337 void InstructionSelector::VisitI8x16GeS(Node* node) { UNIMPLEMENTED(); }
2338 #endif // !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_X64 2338 #endif // !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_X64
2339 // && !V8_TARGET_ARCH_MIPS && !V8_TARGET_ARCH_MIPS64 2339 // && !V8_TARGET_ARCH_MIPS && !V8_TARGET_ARCH_MIPS64
2340 2340
2341 #if !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_MIPS && \ 2341 #if !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_MIPS && \
2342 !V8_TARGET_ARCH_MIPS64 2342 !V8_TARGET_ARCH_MIPS64
2343 void InstructionSelector::VisitI8x16Mul(Node* node) { UNIMPLEMENTED(); } 2343 void InstructionSelector::VisitI8x16Mul(Node* node) { UNIMPLEMENTED(); }
2344 2344
2345 void InstructionSelector::VisitI8x16GtS(Node* node) { UNIMPLEMENTED(); }
2346
2347 void InstructionSelector::VisitI8x16GeS(Node* node) { UNIMPLEMENTED(); }
2348
2349 void InstructionSelector::VisitI8x16ShrU(Node* node) { UNIMPLEMENTED(); } 2345 void InstructionSelector::VisitI8x16ShrU(Node* node) { UNIMPLEMENTED(); }
2350 #endif // !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_MIPS 2346 #endif // !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_MIPS
2351 // && !V8_TARGET_ARCH_MIPS64 2347 // && !V8_TARGET_ARCH_MIPS64
2352 2348
2353 #if !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_MIPS && \ 2349 #if !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_MIPS && \
2354 !V8_TARGET_ARCH_MIPS64 2350 !V8_TARGET_ARCH_MIPS64
2355 void InstructionSelector::VisitI8x16UConvertI16x8(Node* node) { 2351 void InstructionSelector::VisitI8x16UConvertI16x8(Node* node) {
2356 UNIMPLEMENTED(); 2352 UNIMPLEMENTED();
2357 } 2353 }
2358 #endif // !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_MIPS 2354 #endif // !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_MIPS
2359 // && !V8_TARGET_ARCH_MIPS64 2355 // && !V8_TARGET_ARCH_MIPS64
2360 2356
2361 #if !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_X64 && \ 2357 #if !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_X64 && \
2362 !V8_TARGET_ARCH_MIPS && !V8_TARGET_ARCH_MIPS64 2358 !V8_TARGET_ARCH_MIPS && !V8_TARGET_ARCH_MIPS64
2363 void InstructionSelector::VisitI8x16AddSaturateU(Node* node) { 2359 void InstructionSelector::VisitI8x16AddSaturateU(Node* node) {
2364 UNIMPLEMENTED(); 2360 UNIMPLEMENTED();
2365 } 2361 }
2366 2362
2367 void InstructionSelector::VisitI8x16SubSaturateU(Node* node) { 2363 void InstructionSelector::VisitI8x16SubSaturateU(Node* node) {
2368 UNIMPLEMENTED(); 2364 UNIMPLEMENTED();
2369 } 2365 }
2370 2366
2371 void InstructionSelector::VisitI8x16MinU(Node* node) { UNIMPLEMENTED(); } 2367 void InstructionSelector::VisitI8x16MinU(Node* node) { UNIMPLEMENTED(); }
2372 2368
2373 void InstructionSelector::VisitI8x16MaxU(Node* node) { UNIMPLEMENTED(); } 2369 void InstructionSelector::VisitI8x16MaxU(Node* node) { UNIMPLEMENTED(); }
2374 #endif // !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_X64
2375 // && !V8_TARGET_ARCH_MIPS && !V8_TARGET_ARCH_MIPS64
2376 2370
2377 #if !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_MIPS && \
2378 !V8_TARGET_ARCH_MIPS64
2379 void InstructionSelector::VisitI8x16GtU(Node* node) { UNIMPLEMENTED(); } 2371 void InstructionSelector::VisitI8x16GtU(Node* node) { UNIMPLEMENTED(); }
2380 2372
2381 void InstructionSelector::VisitI8x16GeU(Node* node) { UNIMPLEMENTED(); } 2373 void InstructionSelector::VisitI8x16GeU(Node* node) { UNIMPLEMENTED(); }
2382 #endif // !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_MIPS
2383 // && !V8_TARGET_ARCH_MIPS64
2384 2374
2385 #if !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_X64 && \
2386 !V8_TARGET_ARCH_MIPS && !V8_TARGET_ARCH_MIPS64
2387 void InstructionSelector::VisitS128And(Node* node) { UNIMPLEMENTED(); } 2375 void InstructionSelector::VisitS128And(Node* node) { UNIMPLEMENTED(); }
2388 2376
2389 void InstructionSelector::VisitS128Or(Node* node) { UNIMPLEMENTED(); } 2377 void InstructionSelector::VisitS128Or(Node* node) { UNIMPLEMENTED(); }
2390 2378
2391 void InstructionSelector::VisitS128Xor(Node* node) { UNIMPLEMENTED(); } 2379 void InstructionSelector::VisitS128Xor(Node* node) { UNIMPLEMENTED(); }
2392 2380
2393 void InstructionSelector::VisitS128Not(Node* node) { UNIMPLEMENTED(); } 2381 void InstructionSelector::VisitS128Not(Node* node) { UNIMPLEMENTED(); }
2394 2382
2395 void InstructionSelector::VisitS128Zero(Node* node) { UNIMPLEMENTED(); } 2383 void InstructionSelector::VisitS128Zero(Node* node) { UNIMPLEMENTED(); }
2396 2384
(...skipping 395 matching lines...) Expand 10 before | Expand all | Expand 10 after
2792 return new (instruction_zone()) FrameStateDescriptor( 2780 return new (instruction_zone()) FrameStateDescriptor(
2793 instruction_zone(), state_info.type(), state_info.bailout_id(), 2781 instruction_zone(), state_info.type(), state_info.bailout_id(),
2794 state_info.state_combine(), parameters, locals, stack, 2782 state_info.state_combine(), parameters, locals, stack,
2795 state_info.shared_info(), outer_state); 2783 state_info.shared_info(), outer_state);
2796 } 2784 }
2797 2785
2798 2786
2799 } // namespace compiler 2787 } // namespace compiler
2800 } // namespace internal 2788 } // namespace internal
2801 } // namespace v8 2789 } // namespace v8
OLDNEW
« no previous file with comments | « no previous file | src/compiler/x64/code-generator-x64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698