| 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 2302 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2313 V(32x4) \ | 2313 V(32x4) \ |
| 2314 V(16x8) \ | 2314 V(16x8) \ |
| 2315 V(8x16) | 2315 V(8x16) |
| 2316 | 2316 |
| 2317 #define SIMD_ZERO_OP_LIST(V) \ | 2317 #define SIMD_ZERO_OP_LIST(V) \ |
| 2318 V(S128Zero) \ | 2318 V(S128Zero) \ |
| 2319 V(S1x4Zero) \ | 2319 V(S1x4Zero) \ |
| 2320 V(S1x8Zero) \ | 2320 V(S1x8Zero) \ |
| 2321 V(S1x16Zero) | 2321 V(S1x16Zero) |
| 2322 | 2322 |
| 2323 #define SIMD_UNOP_LIST(V) \ | 2323 #define SIMD_UNOP_LIST(V) \ |
| 2324 V(F32x4SConvertI32x4, kArmF32x4SConvertI32x4) \ | 2324 V(F32x4SConvertI32x4, kArmF32x4SConvertI32x4) \ |
| 2325 V(F32x4UConvertI32x4, kArmF32x4UConvertI32x4) \ | 2325 V(F32x4UConvertI32x4, kArmF32x4UConvertI32x4) \ |
| 2326 V(F32x4Abs, kArmF32x4Abs) \ | 2326 V(F32x4Abs, kArmF32x4Abs) \ |
| 2327 V(F32x4Neg, kArmF32x4Neg) \ | 2327 V(F32x4Neg, kArmF32x4Neg) \ |
| 2328 V(F32x4RecipApprox, kArmF32x4RecipApprox) \ | 2328 V(F32x4RecipApprox, kArmF32x4RecipApprox) \ |
| 2329 V(F32x4RecipSqrtApprox, kArmF32x4RecipSqrtApprox) \ | 2329 V(F32x4RecipSqrtApprox, kArmF32x4RecipSqrtApprox) \ |
| 2330 V(I32x4SConvertF32x4, kArmI32x4SConvertF32x4) \ | 2330 V(I32x4SConvertF32x4, kArmI32x4SConvertF32x4) \ |
| 2331 V(I32x4Neg, kArmI32x4Neg) \ | 2331 V(I32x4SConvertI16x8Low, kArmI32x4SConvertI16x8Low) \ |
| 2332 V(I32x4UConvertF32x4, kArmI32x4UConvertF32x4) \ | 2332 V(I32x4SConvertI16x8High, kArmI32x4SConvertI16x8High) \ |
| 2333 V(I16x8Neg, kArmI16x8Neg) \ | 2333 V(I32x4Neg, kArmI32x4Neg) \ |
| 2334 V(I8x16Neg, kArmI8x16Neg) \ | 2334 V(I32x4UConvertF32x4, kArmI32x4UConvertF32x4) \ |
| 2335 V(S128Not, kArmS128Not) \ | 2335 V(I32x4UConvertI16x8Low, kArmI32x4UConvertI16x8Low) \ |
| 2336 V(S1x4Not, kArmS128Not) \ | 2336 V(I32x4UConvertI16x8High, kArmI32x4UConvertI16x8High) \ |
| 2337 V(S1x4AnyTrue, kArmS1x4AnyTrue) \ | 2337 V(I16x8SConvertI8x16Low, kArmI16x8SConvertI8x16Low) \ |
| 2338 V(S1x4AllTrue, kArmS1x4AllTrue) \ | 2338 V(I16x8SConvertI8x16High, kArmI16x8SConvertI8x16High) \ |
| 2339 V(S1x8Not, kArmS128Not) \ | 2339 V(I16x8Neg, kArmI16x8Neg) \ |
| 2340 V(S1x8AnyTrue, kArmS1x8AnyTrue) \ | 2340 V(I16x8UConvertI8x16Low, kArmI16x8UConvertI8x16Low) \ |
| 2341 V(S1x8AllTrue, kArmS1x8AllTrue) \ | 2341 V(I16x8UConvertI8x16High, kArmI16x8UConvertI8x16High) \ |
| 2342 V(S1x16Not, kArmS128Not) \ | 2342 V(I8x16Neg, kArmI8x16Neg) \ |
| 2343 V(S1x16AnyTrue, kArmS1x16AnyTrue) \ | 2343 V(S128Not, kArmS128Not) \ |
| 2344 V(S1x4Not, kArmS128Not) \ |
| 2345 V(S1x4AnyTrue, kArmS1x4AnyTrue) \ |
| 2346 V(S1x4AllTrue, kArmS1x4AllTrue) \ |
| 2347 V(S1x8Not, kArmS128Not) \ |
| 2348 V(S1x8AnyTrue, kArmS1x8AnyTrue) \ |
| 2349 V(S1x8AllTrue, kArmS1x8AllTrue) \ |
| 2350 V(S1x16Not, kArmS128Not) \ |
| 2351 V(S1x16AnyTrue, kArmS1x16AnyTrue) \ |
| 2344 V(S1x16AllTrue, kArmS1x16AllTrue) | 2352 V(S1x16AllTrue, kArmS1x16AllTrue) |
| 2345 | 2353 |
| 2346 #define SIMD_SHIFT_OP_LIST(V) \ | 2354 #define SIMD_SHIFT_OP_LIST(V) \ |
| 2347 V(I32x4Shl) \ | 2355 V(I32x4Shl) \ |
| 2348 V(I32x4ShrS) \ | 2356 V(I32x4ShrS) \ |
| 2349 V(I32x4ShrU) \ | 2357 V(I32x4ShrU) \ |
| 2350 V(I16x8Shl) \ | 2358 V(I16x8Shl) \ |
| 2351 V(I16x8ShrS) \ | 2359 V(I16x8ShrS) \ |
| 2352 V(I16x8ShrU) \ | 2360 V(I16x8ShrU) \ |
| 2353 V(I8x16Shl) \ | 2361 V(I8x16Shl) \ |
| (...skipping 18 matching lines...) Expand all Loading... |
| 2372 V(I32x4MinS, kArmI32x4MinS) \ | 2380 V(I32x4MinS, kArmI32x4MinS) \ |
| 2373 V(I32x4MaxS, kArmI32x4MaxS) \ | 2381 V(I32x4MaxS, kArmI32x4MaxS) \ |
| 2374 V(I32x4Eq, kArmI32x4Eq) \ | 2382 V(I32x4Eq, kArmI32x4Eq) \ |
| 2375 V(I32x4Ne, kArmI32x4Ne) \ | 2383 V(I32x4Ne, kArmI32x4Ne) \ |
| 2376 V(I32x4LtS, kArmI32x4LtS) \ | 2384 V(I32x4LtS, kArmI32x4LtS) \ |
| 2377 V(I32x4LeS, kArmI32x4LeS) \ | 2385 V(I32x4LeS, kArmI32x4LeS) \ |
| 2378 V(I32x4MinU, kArmI32x4MinU) \ | 2386 V(I32x4MinU, kArmI32x4MinU) \ |
| 2379 V(I32x4MaxU, kArmI32x4MaxU) \ | 2387 V(I32x4MaxU, kArmI32x4MaxU) \ |
| 2380 V(I32x4LtU, kArmI32x4LtU) \ | 2388 V(I32x4LtU, kArmI32x4LtU) \ |
| 2381 V(I32x4LeU, kArmI32x4LeU) \ | 2389 V(I32x4LeU, kArmI32x4LeU) \ |
| 2390 V(I16x8SConvertI32x4, kArmI16x8SConvertI32x4) \ |
| 2382 V(I16x8Add, kArmI16x8Add) \ | 2391 V(I16x8Add, kArmI16x8Add) \ |
| 2383 V(I16x8AddSaturateS, kArmI16x8AddSaturateS) \ | 2392 V(I16x8AddSaturateS, kArmI16x8AddSaturateS) \ |
| 2384 V(I16x8Sub, kArmI16x8Sub) \ | 2393 V(I16x8Sub, kArmI16x8Sub) \ |
| 2385 V(I16x8SubSaturateS, kArmI16x8SubSaturateS) \ | 2394 V(I16x8SubSaturateS, kArmI16x8SubSaturateS) \ |
| 2386 V(I16x8Mul, kArmI16x8Mul) \ | 2395 V(I16x8Mul, kArmI16x8Mul) \ |
| 2387 V(I16x8MinS, kArmI16x8MinS) \ | 2396 V(I16x8MinS, kArmI16x8MinS) \ |
| 2388 V(I16x8MaxS, kArmI16x8MaxS) \ | 2397 V(I16x8MaxS, kArmI16x8MaxS) \ |
| 2389 V(I16x8Eq, kArmI16x8Eq) \ | 2398 V(I16x8Eq, kArmI16x8Eq) \ |
| 2390 V(I16x8Ne, kArmI16x8Ne) \ | 2399 V(I16x8Ne, kArmI16x8Ne) \ |
| 2391 V(I16x8LtS, kArmI16x8LtS) \ | 2400 V(I16x8LtS, kArmI16x8LtS) \ |
| 2392 V(I16x8LeS, kArmI16x8LeS) \ | 2401 V(I16x8LeS, kArmI16x8LeS) \ |
| 2402 V(I16x8UConvertI32x4, kArmI16x8UConvertI32x4) \ |
| 2393 V(I16x8AddSaturateU, kArmI16x8AddSaturateU) \ | 2403 V(I16x8AddSaturateU, kArmI16x8AddSaturateU) \ |
| 2394 V(I16x8SubSaturateU, kArmI16x8SubSaturateU) \ | 2404 V(I16x8SubSaturateU, kArmI16x8SubSaturateU) \ |
| 2395 V(I16x8MinU, kArmI16x8MinU) \ | 2405 V(I16x8MinU, kArmI16x8MinU) \ |
| 2396 V(I16x8MaxU, kArmI16x8MaxU) \ | 2406 V(I16x8MaxU, kArmI16x8MaxU) \ |
| 2397 V(I16x8LtU, kArmI16x8LtU) \ | 2407 V(I16x8LtU, kArmI16x8LtU) \ |
| 2398 V(I16x8LeU, kArmI16x8LeU) \ | 2408 V(I16x8LeU, kArmI16x8LeU) \ |
| 2409 V(I8x16SConvertI16x8, kArmI8x16SConvertI16x8) \ |
| 2399 V(I8x16Add, kArmI8x16Add) \ | 2410 V(I8x16Add, kArmI8x16Add) \ |
| 2400 V(I8x16AddSaturateS, kArmI8x16AddSaturateS) \ | 2411 V(I8x16AddSaturateS, kArmI8x16AddSaturateS) \ |
| 2401 V(I8x16Sub, kArmI8x16Sub) \ | 2412 V(I8x16Sub, kArmI8x16Sub) \ |
| 2402 V(I8x16SubSaturateS, kArmI8x16SubSaturateS) \ | 2413 V(I8x16SubSaturateS, kArmI8x16SubSaturateS) \ |
| 2403 V(I8x16Mul, kArmI8x16Mul) \ | 2414 V(I8x16Mul, kArmI8x16Mul) \ |
| 2404 V(I8x16MinS, kArmI8x16MinS) \ | 2415 V(I8x16MinS, kArmI8x16MinS) \ |
| 2405 V(I8x16MaxS, kArmI8x16MaxS) \ | 2416 V(I8x16MaxS, kArmI8x16MaxS) \ |
| 2406 V(I8x16Eq, kArmI8x16Eq) \ | 2417 V(I8x16Eq, kArmI8x16Eq) \ |
| 2407 V(I8x16Ne, kArmI8x16Ne) \ | 2418 V(I8x16Ne, kArmI8x16Ne) \ |
| 2408 V(I8x16LtS, kArmI8x16LtS) \ | 2419 V(I8x16LtS, kArmI8x16LtS) \ |
| 2409 V(I8x16LeS, kArmI8x16LeS) \ | 2420 V(I8x16LeS, kArmI8x16LeS) \ |
| 2421 V(I8x16UConvertI16x8, kArmI8x16UConvertI16x8) \ |
| 2410 V(I8x16AddSaturateU, kArmI8x16AddSaturateU) \ | 2422 V(I8x16AddSaturateU, kArmI8x16AddSaturateU) \ |
| 2411 V(I8x16SubSaturateU, kArmI8x16SubSaturateU) \ | 2423 V(I8x16SubSaturateU, kArmI8x16SubSaturateU) \ |
| 2412 V(I8x16MinU, kArmI8x16MinU) \ | 2424 V(I8x16MinU, kArmI8x16MinU) \ |
| 2413 V(I8x16MaxU, kArmI8x16MaxU) \ | 2425 V(I8x16MaxU, kArmI8x16MaxU) \ |
| 2414 V(I8x16LtU, kArmI8x16LtU) \ | 2426 V(I8x16LtU, kArmI8x16LtU) \ |
| 2415 V(I8x16LeU, kArmI8x16LeU) \ | 2427 V(I8x16LeU, kArmI8x16LeU) \ |
| 2416 V(S128And, kArmS128And) \ | 2428 V(S128And, kArmS128And) \ |
| 2417 V(S128Or, kArmS128Or) \ | 2429 V(S128Or, kArmS128Or) \ |
| 2418 V(S128Xor, kArmS128Xor) \ | 2430 V(S128Xor, kArmS128Xor) \ |
| 2419 V(S1x4And, kArmS128And) \ | 2431 V(S1x4And, kArmS128And) \ |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2524 Vector<MachineType> req_aligned = Vector<MachineType>::New(2); | 2536 Vector<MachineType> req_aligned = Vector<MachineType>::New(2); |
| 2525 req_aligned[0] = MachineType::Float32(); | 2537 req_aligned[0] = MachineType::Float32(); |
| 2526 req_aligned[1] = MachineType::Float64(); | 2538 req_aligned[1] = MachineType::Float64(); |
| 2527 return MachineOperatorBuilder::AlignmentRequirements:: | 2539 return MachineOperatorBuilder::AlignmentRequirements:: |
| 2528 SomeUnalignedAccessUnsupported(req_aligned, req_aligned); | 2540 SomeUnalignedAccessUnsupported(req_aligned, req_aligned); |
| 2529 } | 2541 } |
| 2530 | 2542 |
| 2531 } // namespace compiler | 2543 } // namespace compiler |
| 2532 } // namespace internal | 2544 } // namespace internal |
| 2533 } // namespace v8 | 2545 } // namespace v8 |
| OLD | NEW |