| OLD | NEW |
| 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 2423 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2434 V(I32x4Shl) \ | 2434 V(I32x4Shl) \ |
| 2435 V(I32x4ShrS) \ | 2435 V(I32x4ShrS) \ |
| 2436 V(I32x4ShrU) \ | 2436 V(I32x4ShrU) \ |
| 2437 V(I16x8Shl) \ | 2437 V(I16x8Shl) \ |
| 2438 V(I16x8ShrS) \ | 2438 V(I16x8ShrS) \ |
| 2439 V(I16x8ShrU) \ | 2439 V(I16x8ShrU) \ |
| 2440 V(I8x16Shl) \ | 2440 V(I8x16Shl) \ |
| 2441 V(I8x16ShrS) \ | 2441 V(I8x16ShrS) \ |
| 2442 V(I8x16ShrU) | 2442 V(I8x16ShrU) |
| 2443 | 2443 |
| 2444 #define SIMD_BINOP_LIST(V) \ | 2444 #define SIMD_BINOP_LIST(V) \ |
| 2445 V(F32x4Add, kArmF32x4Add) \ | 2445 V(F32x4Add, kArmF32x4Add) \ |
| 2446 V(F32x4Sub, kArmF32x4Sub) \ | 2446 V(F32x4AddHoriz, kArmF32x4AddHoriz) \ |
| 2447 V(F32x4Mul, kArmF32x4Mul) \ | 2447 V(F32x4Sub, kArmF32x4Sub) \ |
| 2448 V(F32x4Min, kArmF32x4Min) \ | 2448 V(F32x4Mul, kArmF32x4Mul) \ |
| 2449 V(F32x4Max, kArmF32x4Max) \ | 2449 V(F32x4Min, kArmF32x4Min) \ |
| 2450 V(F32x4Eq, kArmF32x4Eq) \ | 2450 V(F32x4Max, kArmF32x4Max) \ |
| 2451 V(F32x4Ne, kArmF32x4Ne) \ | 2451 V(F32x4Eq, kArmF32x4Eq) \ |
| 2452 V(F32x4Lt, kArmF32x4Lt) \ | 2452 V(F32x4Ne, kArmF32x4Ne) \ |
| 2453 V(F32x4Le, kArmF32x4Le) \ | 2453 V(F32x4Lt, kArmF32x4Lt) \ |
| 2454 V(I32x4Add, kArmI32x4Add) \ | 2454 V(F32x4Le, kArmF32x4Le) \ |
| 2455 V(I32x4Sub, kArmI32x4Sub) \ | 2455 V(I32x4Add, kArmI32x4Add) \ |
| 2456 V(I32x4Mul, kArmI32x4Mul) \ | 2456 V(I32x4AddHoriz, kArmI32x4AddHoriz) \ |
| 2457 V(I32x4MinS, kArmI32x4MinS) \ | 2457 V(I32x4Sub, kArmI32x4Sub) \ |
| 2458 V(I32x4MaxS, kArmI32x4MaxS) \ | 2458 V(I32x4Mul, kArmI32x4Mul) \ |
| 2459 V(I32x4Eq, kArmI32x4Eq) \ | 2459 V(I32x4MinS, kArmI32x4MinS) \ |
| 2460 V(I32x4Ne, kArmI32x4Ne) \ | 2460 V(I32x4MaxS, kArmI32x4MaxS) \ |
| 2461 V(I32x4LtS, kArmI32x4LtS) \ | 2461 V(I32x4Eq, kArmI32x4Eq) \ |
| 2462 V(I32x4LeS, kArmI32x4LeS) \ | 2462 V(I32x4Ne, kArmI32x4Ne) \ |
| 2463 V(I32x4MinU, kArmI32x4MinU) \ | 2463 V(I32x4LtS, kArmI32x4LtS) \ |
| 2464 V(I32x4MaxU, kArmI32x4MaxU) \ | 2464 V(I32x4LeS, kArmI32x4LeS) \ |
| 2465 V(I32x4LtU, kArmI32x4LtU) \ | 2465 V(I32x4MinU, kArmI32x4MinU) \ |
| 2466 V(I32x4LeU, kArmI32x4LeU) \ | 2466 V(I32x4MaxU, kArmI32x4MaxU) \ |
| 2467 V(I16x8SConvertI32x4, kArmI16x8SConvertI32x4) \ | 2467 V(I32x4LtU, kArmI32x4LtU) \ |
| 2468 V(I16x8Add, kArmI16x8Add) \ | 2468 V(I32x4LeU, kArmI32x4LeU) \ |
| 2469 V(I16x8AddSaturateS, kArmI16x8AddSaturateS) \ | 2469 V(I16x8SConvertI32x4, kArmI16x8SConvertI32x4) \ |
| 2470 V(I16x8Sub, kArmI16x8Sub) \ | 2470 V(I16x8Add, kArmI16x8Add) \ |
| 2471 V(I16x8SubSaturateS, kArmI16x8SubSaturateS) \ | 2471 V(I16x8AddSaturateS, kArmI16x8AddSaturateS) \ |
| 2472 V(I16x8Mul, kArmI16x8Mul) \ | 2472 V(I16x8AddHoriz, kArmI16x8AddHoriz) \ |
| 2473 V(I16x8MinS, kArmI16x8MinS) \ | 2473 V(I16x8Sub, kArmI16x8Sub) \ |
| 2474 V(I16x8MaxS, kArmI16x8MaxS) \ | 2474 V(I16x8SubSaturateS, kArmI16x8SubSaturateS) \ |
| 2475 V(I16x8Eq, kArmI16x8Eq) \ | 2475 V(I16x8Mul, kArmI16x8Mul) \ |
| 2476 V(I16x8Ne, kArmI16x8Ne) \ | 2476 V(I16x8MinS, kArmI16x8MinS) \ |
| 2477 V(I16x8LtS, kArmI16x8LtS) \ | 2477 V(I16x8MaxS, kArmI16x8MaxS) \ |
| 2478 V(I16x8LeS, kArmI16x8LeS) \ | 2478 V(I16x8Eq, kArmI16x8Eq) \ |
| 2479 V(I16x8UConvertI32x4, kArmI16x8UConvertI32x4) \ | 2479 V(I16x8Ne, kArmI16x8Ne) \ |
| 2480 V(I16x8AddSaturateU, kArmI16x8AddSaturateU) \ | 2480 V(I16x8LtS, kArmI16x8LtS) \ |
| 2481 V(I16x8SubSaturateU, kArmI16x8SubSaturateU) \ | 2481 V(I16x8LeS, kArmI16x8LeS) \ |
| 2482 V(I16x8MinU, kArmI16x8MinU) \ | 2482 V(I16x8UConvertI32x4, kArmI16x8UConvertI32x4) \ |
| 2483 V(I16x8MaxU, kArmI16x8MaxU) \ | 2483 V(I16x8AddSaturateU, kArmI16x8AddSaturateU) \ |
| 2484 V(I16x8LtU, kArmI16x8LtU) \ | 2484 V(I16x8SubSaturateU, kArmI16x8SubSaturateU) \ |
| 2485 V(I16x8LeU, kArmI16x8LeU) \ | 2485 V(I16x8MinU, kArmI16x8MinU) \ |
| 2486 V(I8x16SConvertI16x8, kArmI8x16SConvertI16x8) \ | 2486 V(I16x8MaxU, kArmI16x8MaxU) \ |
| 2487 V(I8x16Add, kArmI8x16Add) \ | 2487 V(I16x8LtU, kArmI16x8LtU) \ |
| 2488 V(I8x16AddSaturateS, kArmI8x16AddSaturateS) \ | 2488 V(I16x8LeU, kArmI16x8LeU) \ |
| 2489 V(I8x16Sub, kArmI8x16Sub) \ | 2489 V(I8x16SConvertI16x8, kArmI8x16SConvertI16x8) \ |
| 2490 V(I8x16SubSaturateS, kArmI8x16SubSaturateS) \ | 2490 V(I8x16Add, kArmI8x16Add) \ |
| 2491 V(I8x16Mul, kArmI8x16Mul) \ | 2491 V(I8x16AddSaturateS, kArmI8x16AddSaturateS) \ |
| 2492 V(I8x16MinS, kArmI8x16MinS) \ | 2492 V(I8x16Sub, kArmI8x16Sub) \ |
| 2493 V(I8x16MaxS, kArmI8x16MaxS) \ | 2493 V(I8x16SubSaturateS, kArmI8x16SubSaturateS) \ |
| 2494 V(I8x16Eq, kArmI8x16Eq) \ | 2494 V(I8x16Mul, kArmI8x16Mul) \ |
| 2495 V(I8x16Ne, kArmI8x16Ne) \ | 2495 V(I8x16MinS, kArmI8x16MinS) \ |
| 2496 V(I8x16LtS, kArmI8x16LtS) \ | 2496 V(I8x16MaxS, kArmI8x16MaxS) \ |
| 2497 V(I8x16LeS, kArmI8x16LeS) \ | 2497 V(I8x16Eq, kArmI8x16Eq) \ |
| 2498 V(I8x16UConvertI16x8, kArmI8x16UConvertI16x8) \ | 2498 V(I8x16Ne, kArmI8x16Ne) \ |
| 2499 V(I8x16AddSaturateU, kArmI8x16AddSaturateU) \ | 2499 V(I8x16LtS, kArmI8x16LtS) \ |
| 2500 V(I8x16SubSaturateU, kArmI8x16SubSaturateU) \ | 2500 V(I8x16LeS, kArmI8x16LeS) \ |
| 2501 V(I8x16MinU, kArmI8x16MinU) \ | 2501 V(I8x16UConvertI16x8, kArmI8x16UConvertI16x8) \ |
| 2502 V(I8x16MaxU, kArmI8x16MaxU) \ | 2502 V(I8x16AddSaturateU, kArmI8x16AddSaturateU) \ |
| 2503 V(I8x16LtU, kArmI8x16LtU) \ | 2503 V(I8x16SubSaturateU, kArmI8x16SubSaturateU) \ |
| 2504 V(I8x16LeU, kArmI8x16LeU) \ | 2504 V(I8x16MinU, kArmI8x16MinU) \ |
| 2505 V(S128And, kArmS128And) \ | 2505 V(I8x16MaxU, kArmI8x16MaxU) \ |
| 2506 V(S128Or, kArmS128Or) \ | 2506 V(I8x16LtU, kArmI8x16LtU) \ |
| 2507 V(S128Xor, kArmS128Xor) \ | 2507 V(I8x16LeU, kArmI8x16LeU) \ |
| 2508 V(S1x4And, kArmS128And) \ | 2508 V(S128And, kArmS128And) \ |
| 2509 V(S1x4Or, kArmS128Or) \ | 2509 V(S128Or, kArmS128Or) \ |
| 2510 V(S1x4Xor, kArmS128Xor) \ | 2510 V(S128Xor, kArmS128Xor) \ |
| 2511 V(S1x8And, kArmS128And) \ | 2511 V(S1x4And, kArmS128And) \ |
| 2512 V(S1x8Or, kArmS128Or) \ | 2512 V(S1x4Or, kArmS128Or) \ |
| 2513 V(S1x8Xor, kArmS128Xor) \ | 2513 V(S1x4Xor, kArmS128Xor) \ |
| 2514 V(S1x16And, kArmS128And) \ | 2514 V(S1x8And, kArmS128And) \ |
| 2515 V(S1x16Or, kArmS128Or) \ | 2515 V(S1x8Or, kArmS128Or) \ |
| 2516 V(S1x8Xor, kArmS128Xor) \ |
| 2517 V(S1x16And, kArmS128And) \ |
| 2518 V(S1x16Or, kArmS128Or) \ |
| 2516 V(S1x16Xor, kArmS128Xor) | 2519 V(S1x16Xor, kArmS128Xor) |
| 2517 | 2520 |
| 2518 #define SIMD_SHUFFLE_OP_LIST(V) \ | 2521 #define SIMD_SHUFFLE_OP_LIST(V) \ |
| 2519 V(S32x4ZipLeft) \ | 2522 V(S32x4ZipLeft) \ |
| 2520 V(S32x4ZipRight) \ | 2523 V(S32x4ZipRight) \ |
| 2521 V(S32x4UnzipLeft) \ | 2524 V(S32x4UnzipLeft) \ |
| 2522 V(S32x4UnzipRight) \ | 2525 V(S32x4UnzipRight) \ |
| 2523 V(S32x4TransposeLeft) \ | 2526 V(S32x4TransposeLeft) \ |
| 2524 V(S32x4TransposeRight) \ | 2527 V(S32x4TransposeRight) \ |
| 2525 V(S16x8ZipLeft) \ | 2528 V(S16x8ZipLeft) \ |
| (...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2648 Vector<MachineType> req_aligned = Vector<MachineType>::New(2); | 2651 Vector<MachineType> req_aligned = Vector<MachineType>::New(2); |
| 2649 req_aligned[0] = MachineType::Float32(); | 2652 req_aligned[0] = MachineType::Float32(); |
| 2650 req_aligned[1] = MachineType::Float64(); | 2653 req_aligned[1] = MachineType::Float64(); |
| 2651 return MachineOperatorBuilder::AlignmentRequirements:: | 2654 return MachineOperatorBuilder::AlignmentRequirements:: |
| 2652 SomeUnalignedAccessUnsupported(req_aligned, req_aligned); | 2655 SomeUnalignedAccessUnsupported(req_aligned, req_aligned); |
| 2653 } | 2656 } |
| 2654 | 2657 |
| 2655 } // namespace compiler | 2658 } // namespace compiler |
| 2656 } // namespace internal | 2659 } // namespace internal |
| 2657 } // namespace v8 | 2660 } // namespace v8 |
| OLD | NEW |