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

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

Issue 2791213003: MIPS[64]: Support for some SIMD operations (6) (Closed)
Patch Set: Rebasing 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 | « no previous file | src/compiler/mips/code-generator-mips.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 2245 matching lines...) Expand 10 before | Expand all | Expand 10 after
2256 void InstructionSelector::VisitI16x8SubSaturateS(Node* node) { 2256 void InstructionSelector::VisitI16x8SubSaturateS(Node* node) {
2257 UNIMPLEMENTED(); 2257 UNIMPLEMENTED();
2258 } 2258 }
2259 #endif // !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_MIPS && 2259 #endif // !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_MIPS &&
2260 // !V8_TARGET_ARCH_MIPS64 2260 // !V8_TARGET_ARCH_MIPS64
2261 2261
2262 #if !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM 2262 #if !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM
2263 void InstructionSelector::VisitI16x8AddHoriz(Node* node) { UNIMPLEMENTED(); } 2263 void InstructionSelector::VisitI16x8AddHoriz(Node* node) { UNIMPLEMENTED(); }
2264 #endif // !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM 2264 #endif // !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM
2265 2265
2266 #if !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM 2266 #if !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_MIPS && \
2267 !V8_TARGET_ARCH_MIPS64
2267 void InstructionSelector::VisitI16x8Mul(Node* node) { UNIMPLEMENTED(); } 2268 void InstructionSelector::VisitI16x8Mul(Node* node) { UNIMPLEMENTED(); }
2268 2269
2269 void InstructionSelector::VisitI16x8MinS(Node* node) { UNIMPLEMENTED(); } 2270 void InstructionSelector::VisitI16x8MinS(Node* node) { UNIMPLEMENTED(); }
2270 2271
2271 void InstructionSelector::VisitI16x8MaxS(Node* node) { UNIMPLEMENTED(); } 2272 void InstructionSelector::VisitI16x8MaxS(Node* node) { UNIMPLEMENTED(); }
2272 2273
2273 void InstructionSelector::VisitI16x8Eq(Node* node) { UNIMPLEMENTED(); } 2274 void InstructionSelector::VisitI16x8Eq(Node* node) { UNIMPLEMENTED(); }
2274 2275
2275 void InstructionSelector::VisitI16x8Ne(Node* node) { UNIMPLEMENTED(); } 2276 void InstructionSelector::VisitI16x8Ne(Node* node) { UNIMPLEMENTED(); }
2276 2277
2277 void InstructionSelector::VisitI16x8AddSaturateU(Node* node) { 2278 void InstructionSelector::VisitI16x8AddSaturateU(Node* node) {
2278 UNIMPLEMENTED(); 2279 UNIMPLEMENTED();
2279 } 2280 }
2280 2281
2281 void InstructionSelector::VisitI16x8SubSaturateU(Node* node) { 2282 void InstructionSelector::VisitI16x8SubSaturateU(Node* node) {
2282 UNIMPLEMENTED(); 2283 UNIMPLEMENTED();
2283 } 2284 }
2284 2285
2285 void InstructionSelector::VisitI16x8MinU(Node* node) { UNIMPLEMENTED(); } 2286 void InstructionSelector::VisitI16x8MinU(Node* node) { UNIMPLEMENTED(); }
2286 2287
2287 void InstructionSelector::VisitI16x8MaxU(Node* node) { UNIMPLEMENTED(); } 2288 void InstructionSelector::VisitI16x8MaxU(Node* node) { UNIMPLEMENTED(); }
2288 #endif // !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM 2289 #endif // !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_MIPS &&
2290 // !V8_TARGET_ARCH_MIPS64
2289 2291
2290 #if !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_MIPS && !V8_TARGET_ARCH_MIPS64 2292 #if !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_MIPS && !V8_TARGET_ARCH_MIPS64
2291 void InstructionSelector::VisitI16x8Neg(Node* node) { UNIMPLEMENTED(); } 2293 void InstructionSelector::VisitI16x8Neg(Node* node) { UNIMPLEMENTED(); }
2292 #endif // !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_MIPS && !V8_TARGET_ARCH_MIPS64 2294 #endif // !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_MIPS && !V8_TARGET_ARCH_MIPS64
2293 2295
2294 #if !V8_TARGET_ARCH_ARM 2296 #if !V8_TARGET_ARCH_ARM
2295 void InstructionSelector::VisitI16x8UConvertI32x4(Node* node) { 2297 void InstructionSelector::VisitI16x8UConvertI32x4(Node* node) {
2296 UNIMPLEMENTED(); 2298 UNIMPLEMENTED();
2297 } 2299 }
2298 2300
2299 void InstructionSelector::VisitI16x8UConvertI8x16Low(Node* node) { 2301 void InstructionSelector::VisitI16x8UConvertI8x16Low(Node* node) {
2300 UNIMPLEMENTED(); 2302 UNIMPLEMENTED();
2301 } 2303 }
2302 2304
2303 void InstructionSelector::VisitI16x8UConvertI8x16High(Node* node) { 2305 void InstructionSelector::VisitI16x8UConvertI8x16High(Node* node) {
2304 UNIMPLEMENTED(); 2306 UNIMPLEMENTED();
2305 } 2307 }
2308 #endif // !V8_TARGET_ARCH_ARM
2306 2309
2310 #if !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_MIPS && !V8_TARGET_ARCH_MIPS64
2307 void InstructionSelector::VisitI16x8LtS(Node* node) { UNIMPLEMENTED(); } 2311 void InstructionSelector::VisitI16x8LtS(Node* node) { UNIMPLEMENTED(); }
2308 2312
2309 void InstructionSelector::VisitI16x8LeS(Node* node) { UNIMPLEMENTED(); } 2313 void InstructionSelector::VisitI16x8LeS(Node* node) { UNIMPLEMENTED(); }
2310 2314
2311 void InstructionSelector::VisitI16x8LtU(Node* node) { UNIMPLEMENTED(); } 2315 void InstructionSelector::VisitI16x8LtU(Node* node) { UNIMPLEMENTED(); }
2312 2316
2313 void InstructionSelector::VisitI16x8LeU(Node* node) { UNIMPLEMENTED(); } 2317 void InstructionSelector::VisitI16x8LeU(Node* node) { UNIMPLEMENTED(); }
2314 #endif // !V8_TARGET_ARCH_ARM
2315 2318
2316 #if !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM 2319 void InstructionSelector::VisitI8x16Neg(Node* node) { UNIMPLEMENTED(); }
2320
2321 void InstructionSelector::VisitI8x16Shl(Node* node) { UNIMPLEMENTED(); }
2322
2323 void InstructionSelector::VisitI8x16ShrS(Node* node) { UNIMPLEMENTED(); }
2324 #endif // !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_MIPS && !V8_TARGET_ARCH_MIPS64
2325
2326 #if !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_MIPS && \
2327 !V8_TARGET_ARCH_MIPS64
2317 void InstructionSelector::VisitI8x16Splat(Node* node) { UNIMPLEMENTED(); } 2328 void InstructionSelector::VisitI8x16Splat(Node* node) { UNIMPLEMENTED(); }
2318 2329
2319 void InstructionSelector::VisitI8x16ExtractLane(Node* node) { UNIMPLEMENTED(); } 2330 void InstructionSelector::VisitI8x16ExtractLane(Node* node) { UNIMPLEMENTED(); }
2320 2331
2321 void InstructionSelector::VisitI8x16ReplaceLane(Node* node) { UNIMPLEMENTED(); } 2332 void InstructionSelector::VisitI8x16ReplaceLane(Node* node) { UNIMPLEMENTED(); }
2322 #endif // !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM 2333 #endif // !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_MIPS &&
2334 // !V8_TARGET_ARCH_MIPS64
2323 2335
2324 #if !V8_TARGET_ARCH_ARM 2336 #if !V8_TARGET_ARCH_ARM
2325 void InstructionSelector::VisitI8x16Neg(Node* node) { UNIMPLEMENTED(); }
2326
2327 void InstructionSelector::VisitI8x16Shl(Node* node) { UNIMPLEMENTED(); }
2328
2329 void InstructionSelector::VisitI8x16ShrS(Node* node) { UNIMPLEMENTED(); }
2330
2331 void InstructionSelector::VisitI8x16SConvertI16x8(Node* node) { 2337 void InstructionSelector::VisitI8x16SConvertI16x8(Node* node) {
2332 UNIMPLEMENTED(); 2338 UNIMPLEMENTED();
2333 } 2339 }
2334 #endif // !V8_TARGET_ARCH_ARM 2340 #endif // !V8_TARGET_ARCH_ARM
2335 2341
2336 #if !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM 2342 #if !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM
2337 void InstructionSelector::VisitI8x16Add(Node* node) { UNIMPLEMENTED(); } 2343 void InstructionSelector::VisitI8x16Add(Node* node) { UNIMPLEMENTED(); }
2338 2344
2339 void InstructionSelector::VisitI8x16AddSaturateS(Node* node) { 2345 void InstructionSelector::VisitI8x16AddSaturateS(Node* node) {
2340 UNIMPLEMENTED(); 2346 UNIMPLEMENTED();
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
2419 #endif // !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_MIPS && 2425 #endif // !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_MIPS &&
2420 // !V8_TARGET_ARCH_MIPS64 2426 // !V8_TARGET_ARCH_MIPS64
2421 2427
2422 #if !V8_TARGET_ARCH_ARM 2428 #if !V8_TARGET_ARCH_ARM
2423 void InstructionSelector::VisitS32x4Shuffle(Node* node) { UNIMPLEMENTED(); } 2429 void InstructionSelector::VisitS32x4Shuffle(Node* node) { UNIMPLEMENTED(); }
2424 2430
2425 void InstructionSelector::VisitS16x8Shuffle(Node* node) { UNIMPLEMENTED(); } 2431 void InstructionSelector::VisitS16x8Shuffle(Node* node) { UNIMPLEMENTED(); }
2426 2432
2427 #endif // !V8_TARGET_ARCH_ARM 2433 #endif // !V8_TARGET_ARCH_ARM
2428 2434
2429 #if !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM 2435 #if !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_MIPS && \
2436 !V8_TARGET_ARCH_MIPS64
2430 void InstructionSelector::VisitS16x8Select(Node* node) { UNIMPLEMENTED(); } 2437 void InstructionSelector::VisitS16x8Select(Node* node) { UNIMPLEMENTED(); }
2431 #endif // !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM 2438 #endif // !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_MIPS &&
2439 // !V8_TARGET_ARCH_MIPS64
2432 2440
2433 #if !V8_TARGET_ARCH_ARM 2441 #if !V8_TARGET_ARCH_ARM
2434 void InstructionSelector::VisitS8x16Shuffle(Node* node) { UNIMPLEMENTED(); } 2442 void InstructionSelector::VisitS8x16Shuffle(Node* node) { UNIMPLEMENTED(); }
2435 2443
2436 #endif // !V8_TARGET_ARCH_ARM 2444 #endif // !V8_TARGET_ARCH_ARM
2437 2445
2438 #if !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM 2446 #if !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_MIPS && \
2447 !V8_TARGET_ARCH_MIPS64
2439 void InstructionSelector::VisitS8x16Select(Node* node) { UNIMPLEMENTED(); } 2448 void InstructionSelector::VisitS8x16Select(Node* node) { UNIMPLEMENTED(); }
2440 #endif // !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM 2449 #endif // !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_MIPS &&
2450 // !V8_TARGET_ARCH_MIPS64
2441 2451
2442 #if !V8_TARGET_ARCH_ARM 2452 #if !V8_TARGET_ARCH_ARM
2443 void InstructionSelector::VisitS1x4And(Node* node) { UNIMPLEMENTED(); } 2453 void InstructionSelector::VisitS1x4And(Node* node) { UNIMPLEMENTED(); }
2444 2454
2445 void InstructionSelector::VisitS1x4Or(Node* node) { UNIMPLEMENTED(); } 2455 void InstructionSelector::VisitS1x4Or(Node* node) { UNIMPLEMENTED(); }
2446 2456
2447 void InstructionSelector::VisitS1x4Xor(Node* node) { UNIMPLEMENTED(); } 2457 void InstructionSelector::VisitS1x4Xor(Node* node) { UNIMPLEMENTED(); }
2448 2458
2449 void InstructionSelector::VisitS1x4Not(Node* node) { UNIMPLEMENTED(); } 2459 void InstructionSelector::VisitS1x4Not(Node* node) { UNIMPLEMENTED(); }
2450 2460
(...skipping 398 matching lines...) Expand 10 before | Expand all | Expand 10 after
2849 return new (instruction_zone()) FrameStateDescriptor( 2859 return new (instruction_zone()) FrameStateDescriptor(
2850 instruction_zone(), state_info.type(), state_info.bailout_id(), 2860 instruction_zone(), state_info.type(), state_info.bailout_id(),
2851 state_info.state_combine(), parameters, locals, stack, 2861 state_info.state_combine(), parameters, locals, stack,
2852 state_info.shared_info(), outer_state); 2862 state_info.shared_info(), outer_state);
2853 } 2863 }
2854 2864
2855 2865
2856 } // namespace compiler 2866 } // namespace compiler
2857 } // namespace internal 2867 } // namespace internal
2858 } // namespace v8 2868 } // namespace v8
OLDNEW
« no previous file with comments | « no previous file | src/compiler/mips/code-generator-mips.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698