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

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

Issue 2011303002: [arm] [arm64] Add optional operators Float32Neg and Float64Neg. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 6 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/arm64/code-generator-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 1422 matching lines...) Expand 10 before | Expand all | Expand 10 after
1433 1433
1434 void InstructionSelector::VisitFloat32RoundTiesEven(Node* node) { 1434 void InstructionSelector::VisitFloat32RoundTiesEven(Node* node) {
1435 VisitRR(this, kArmVrintnF32, node); 1435 VisitRR(this, kArmVrintnF32, node);
1436 } 1436 }
1437 1437
1438 1438
1439 void InstructionSelector::VisitFloat64RoundTiesEven(Node* node) { 1439 void InstructionSelector::VisitFloat64RoundTiesEven(Node* node) {
1440 VisitRR(this, kArmVrintnF64, node); 1440 VisitRR(this, kArmVrintnF64, node);
1441 } 1441 }
1442 1442
1443 void InstructionSelector::VisitFloat32Neg(Node* node) {
1444 VisitRR(this, kArmVnegF32, node);
1445 }
1446
1447 void InstructionSelector::VisitFloat64Neg(Node* node) {
1448 VisitRR(this, kArmVnegF64, node);
1449 }
1443 1450
1444 void InstructionSelector::EmitPrepareArguments( 1451 void InstructionSelector::EmitPrepareArguments(
1445 ZoneVector<PushParameter>* arguments, const CallDescriptor* descriptor, 1452 ZoneVector<PushParameter>* arguments, const CallDescriptor* descriptor,
1446 Node* node) { 1453 Node* node) {
1447 ArmOperandGenerator g(this); 1454 ArmOperandGenerator g(this);
1448 1455
1449 // Prepare for C function call. 1456 // Prepare for C function call.
1450 if (descriptor->IsCFunctionCall()) { 1457 if (descriptor->IsCFunctionCall()) {
1451 Emit(kArchPrepareCallCFunction | 1458 Emit(kArchPrepareCallCFunction |
1452 MiscField::encode(static_cast<int>(descriptor->CParameterCount())), 1459 MiscField::encode(static_cast<int>(descriptor->CParameterCount())),
(...skipping 503 matching lines...) Expand 10 before | Expand all | Expand 10 after
1956 MachineOperatorBuilder::kFloat32RoundUp | 1963 MachineOperatorBuilder::kFloat32RoundUp |
1957 MachineOperatorBuilder::kFloat64RoundUp | 1964 MachineOperatorBuilder::kFloat64RoundUp |
1958 MachineOperatorBuilder::kFloat32RoundTruncate | 1965 MachineOperatorBuilder::kFloat32RoundTruncate |
1959 MachineOperatorBuilder::kFloat64RoundTruncate | 1966 MachineOperatorBuilder::kFloat64RoundTruncate |
1960 MachineOperatorBuilder::kFloat64RoundTiesAway | 1967 MachineOperatorBuilder::kFloat64RoundTiesAway |
1961 MachineOperatorBuilder::kFloat32RoundTiesEven | 1968 MachineOperatorBuilder::kFloat32RoundTiesEven |
1962 MachineOperatorBuilder::kFloat64RoundTiesEven | 1969 MachineOperatorBuilder::kFloat64RoundTiesEven |
1963 MachineOperatorBuilder::kFloat32Min | 1970 MachineOperatorBuilder::kFloat32Min |
1964 MachineOperatorBuilder::kFloat32Max | 1971 MachineOperatorBuilder::kFloat32Max |
1965 MachineOperatorBuilder::kFloat64Min | 1972 MachineOperatorBuilder::kFloat64Min |
1966 MachineOperatorBuilder::kFloat64Max; 1973 MachineOperatorBuilder::kFloat64Max |
1974 MachineOperatorBuilder::kFloat32Neg |
1975 MachineOperatorBuilder::kFloat64Neg;
1967 } 1976 }
1968 return flags; 1977 return flags;
1969 } 1978 }
1970 1979
1971 // static 1980 // static
1972 MachineOperatorBuilder::AlignmentRequirements 1981 MachineOperatorBuilder::AlignmentRequirements
1973 InstructionSelector::AlignmentRequirements() { 1982 InstructionSelector::AlignmentRequirements() {
1974 return MachineOperatorBuilder::AlignmentRequirements:: 1983 return MachineOperatorBuilder::AlignmentRequirements::
1975 FullUnalignedAccessSupport(); 1984 FullUnalignedAccessSupport();
1976 } 1985 }
1977 1986
1978 } // namespace compiler 1987 } // namespace compiler
1979 } // namespace internal 1988 } // namespace internal
1980 } // namespace v8 1989 } // namespace v8
OLDNEW
« no previous file with comments | « no previous file | src/compiler/arm64/code-generator-arm64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698