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

Side by Side Diff: src/compiler/wasm-compiler.cc

Issue 2083473002: [wasm] Use the new TF operators for F64Cos, F64Sin, F64Tan, and F64Exp (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 | « src/compiler/wasm-compiler.h ('k') | src/external-reference-table.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 2015 the V8 project authors. All rights reserved. 1 // Copyright 2015 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/wasm-compiler.h" 5 #include "src/compiler/wasm-compiler.h"
6 6
7 #include "src/isolate-inl.h" 7 #include "src/isolate-inl.h"
8 8
9 #include "src/base/platform/elapsed-timer.h" 9 #include "src/base/platform/elapsed-timer.h"
10 #include "src/base/platform/platform.h" 10 #include "src/base/platform/platform.h"
(...skipping 767 matching lines...) Expand 10 before | Expand all | Expand 10 after
778 case wasm::kExprF64Acos: { 778 case wasm::kExprF64Acos: {
779 return BuildF64Acos(input); 779 return BuildF64Acos(input);
780 } 780 }
781 case wasm::kExprF64Asin: { 781 case wasm::kExprF64Asin: {
782 return BuildF64Asin(input); 782 return BuildF64Asin(input);
783 } 783 }
784 case wasm::kExprF64Atan: 784 case wasm::kExprF64Atan:
785 op = m->Float64Atan(); 785 op = m->Float64Atan();
786 break; 786 break;
787 case wasm::kExprF64Cos: { 787 case wasm::kExprF64Cos: {
788 return BuildF64Cos(input); 788 op = m->Float64Cos();
789 break;
789 } 790 }
790 case wasm::kExprF64Sin: { 791 case wasm::kExprF64Sin: {
791 return BuildF64Sin(input); 792 op = m->Float64Sin();
793 break;
792 } 794 }
793 case wasm::kExprF64Tan: { 795 case wasm::kExprF64Tan: {
794 return BuildF64Tan(input); 796 op = m->Float64Tan();
797 break;
795 } 798 }
796 case wasm::kExprF64Exp: { 799 case wasm::kExprF64Exp: {
797 return BuildF64Exp(input); 800 op = m->Float64Exp();
801 break;
798 } 802 }
799 case wasm::kExprF64Log: 803 case wasm::kExprF64Log:
800 op = m->Float64Log(); 804 op = m->Float64Log();
801 break; 805 break;
802 case wasm::kExprI32ConvertI64: 806 case wasm::kExprI32ConvertI64:
803 op = m->TruncateInt64ToInt32(); 807 op = m->TruncateInt64ToInt32();
804 break; 808 break;
805 case wasm::kExprI64SConvertI32: 809 case wasm::kExprI64SConvertI32:
806 op = m->ChangeInt32ToInt64(); 810 op = m->ChangeInt32ToInt64();
807 break; 811 break;
(...skipping 533 matching lines...) Expand 10 before | Expand all | Expand 10 after
1341 return BuildCFuncInstruction(ref, type, input); 1345 return BuildCFuncInstruction(ref, type, input);
1342 } 1346 }
1343 1347
1344 Node* WasmGraphBuilder::BuildF64Asin(Node* input) { 1348 Node* WasmGraphBuilder::BuildF64Asin(Node* input) {
1345 MachineType type = MachineType::Float64(); 1349 MachineType type = MachineType::Float64();
1346 ExternalReference ref = 1350 ExternalReference ref =
1347 ExternalReference::f64_asin_wrapper_function(jsgraph()->isolate()); 1351 ExternalReference::f64_asin_wrapper_function(jsgraph()->isolate());
1348 return BuildCFuncInstruction(ref, type, input); 1352 return BuildCFuncInstruction(ref, type, input);
1349 } 1353 }
1350 1354
1351 Node* WasmGraphBuilder::BuildF64Cos(Node* input) {
1352 MachineType type = MachineType::Float64();
1353 ExternalReference ref =
1354 ExternalReference::f64_cos_wrapper_function(jsgraph()->isolate());
1355 return BuildCFuncInstruction(ref, type, input);
1356 }
1357
1358 Node* WasmGraphBuilder::BuildF64Sin(Node* input) {
1359 MachineType type = MachineType::Float64();
1360 ExternalReference ref =
1361 ExternalReference::f64_sin_wrapper_function(jsgraph()->isolate());
1362 return BuildCFuncInstruction(ref, type, input);
1363 }
1364
1365 Node* WasmGraphBuilder::BuildF64Tan(Node* input) {
1366 MachineType type = MachineType::Float64();
1367 ExternalReference ref =
1368 ExternalReference::f64_tan_wrapper_function(jsgraph()->isolate());
1369 return BuildCFuncInstruction(ref, type, input);
1370 }
1371
1372 Node* WasmGraphBuilder::BuildF64Exp(Node* input) {
1373 MachineType type = MachineType::Float64();
1374 ExternalReference ref =
1375 ExternalReference::f64_exp_wrapper_function(jsgraph()->isolate());
1376 return BuildCFuncInstruction(ref, type, input);
1377 }
1378
1379 Node* WasmGraphBuilder::BuildF64Pow(Node* left, Node* right) { 1355 Node* WasmGraphBuilder::BuildF64Pow(Node* left, Node* right) {
1380 MachineType type = MachineType::Float64(); 1356 MachineType type = MachineType::Float64();
1381 ExternalReference ref = 1357 ExternalReference ref =
1382 ExternalReference::f64_pow_wrapper_function(jsgraph()->isolate()); 1358 ExternalReference::f64_pow_wrapper_function(jsgraph()->isolate());
1383 return BuildCFuncInstruction(ref, type, left, right); 1359 return BuildCFuncInstruction(ref, type, left, right);
1384 } 1360 }
1385 1361
1386 Node* WasmGraphBuilder::BuildF64Mod(Node* left, Node* right) { 1362 Node* WasmGraphBuilder::BuildF64Mod(Node* left, Node* right) {
1387 MachineType type = MachineType::Float64(); 1363 MachineType type = MachineType::Float64();
1388 ExternalReference ref = 1364 ExternalReference ref =
(...skipping 1898 matching lines...) Expand 10 before | Expand all | Expand 10 after
3287 function_->code_start_offset), 3263 function_->code_start_offset),
3288 compile_ms); 3264 compile_ms);
3289 } 3265 }
3290 3266
3291 return code; 3267 return code;
3292 } 3268 }
3293 3269
3294 } // namespace compiler 3270 } // namespace compiler
3295 } // namespace internal 3271 } // namespace internal
3296 } // namespace v8 3272 } // namespace v8
OLDNEW
« no previous file with comments | « src/compiler/wasm-compiler.h ('k') | src/external-reference-table.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698