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

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

Issue 2785773002: [turbofan] introduce Int32/64AbsWithOverflow optional operator (Closed)
Patch Set: add base impl Created 3 years, 8 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/builtins/builtins-math-gen.cc ('k') | src/compiler/arm64/instruction-selector-arm64.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/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 2465 matching lines...) Expand 10 before | Expand all | Expand 10 after
2476 SIMD_SHIFT_OP_LIST(SIMD_VISIT_SHIFT_OP) 2476 SIMD_SHIFT_OP_LIST(SIMD_VISIT_SHIFT_OP)
2477 #undef SIMD_VISIT_SHIFT_OP 2477 #undef SIMD_VISIT_SHIFT_OP
2478 2478
2479 #define SIMD_VISIT_SELECT_OP(format) \ 2479 #define SIMD_VISIT_SELECT_OP(format) \
2480 void InstructionSelector::VisitSimd##format##Select(Node* node) { \ 2480 void InstructionSelector::VisitSimd##format##Select(Node* node) { \
2481 VisitRRRR(this, kArmSimd128Select, node); \ 2481 VisitRRRR(this, kArmSimd128Select, node); \
2482 } 2482 }
2483 SIMD_FORMAT_LIST(SIMD_VISIT_SELECT_OP) 2483 SIMD_FORMAT_LIST(SIMD_VISIT_SELECT_OP)
2484 #undef SIMD_VISIT_SELECT_OP 2484 #undef SIMD_VISIT_SELECT_OP
2485 2485
2486 void InstructionSelector::VisitInt32AbsWithOverflow(Node* node) {
2487 UNREACHABLE();
2488 }
2489
2490 void InstructionSelector::VisitInt64AbsWithOverflow(Node* node) {
2491 UNREACHABLE();
2492 }
2493
2486 // static 2494 // static
2487 MachineOperatorBuilder::Flags 2495 MachineOperatorBuilder::Flags
2488 InstructionSelector::SupportedMachineOperatorFlags() { 2496 InstructionSelector::SupportedMachineOperatorFlags() {
2489 MachineOperatorBuilder::Flags flags; 2497 MachineOperatorBuilder::Flags flags;
2490 if (CpuFeatures::IsSupported(SUDIV)) { 2498 if (CpuFeatures::IsSupported(SUDIV)) {
2491 // The sdiv and udiv instructions correctly return 0 if the divisor is 0, 2499 // The sdiv and udiv instructions correctly return 0 if the divisor is 0,
2492 // but the fall-back implementation does not. 2500 // but the fall-back implementation does not.
2493 flags |= MachineOperatorBuilder::kInt32DivIsSafe | 2501 flags |= MachineOperatorBuilder::kInt32DivIsSafe |
2494 MachineOperatorBuilder::kUint32DivIsSafe; 2502 MachineOperatorBuilder::kUint32DivIsSafe;
2495 } 2503 }
(...skipping 20 matching lines...) Expand all
2516 Vector<MachineType> req_aligned = Vector<MachineType>::New(2); 2524 Vector<MachineType> req_aligned = Vector<MachineType>::New(2);
2517 req_aligned[0] = MachineType::Float32(); 2525 req_aligned[0] = MachineType::Float32();
2518 req_aligned[1] = MachineType::Float64(); 2526 req_aligned[1] = MachineType::Float64();
2519 return MachineOperatorBuilder::AlignmentRequirements:: 2527 return MachineOperatorBuilder::AlignmentRequirements::
2520 SomeUnalignedAccessUnsupported(req_aligned, req_aligned); 2528 SomeUnalignedAccessUnsupported(req_aligned, req_aligned);
2521 } 2529 }
2522 2530
2523 } // namespace compiler 2531 } // namespace compiler
2524 } // namespace internal 2532 } // namespace internal
2525 } // namespace v8 2533 } // namespace v8
OLDNEW
« no previous file with comments | « src/builtins/builtins-math-gen.cc ('k') | src/compiler/arm64/instruction-selector-arm64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698