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

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

Issue 1843123002: [wasm] Int64Lowering of Word64Ror and Word64Rol. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Better code is generated now. Created 4 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/compiler/int64-lowering.cc ('k') | test/cctest/compiler/value-helper.h » ('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 531 matching lines...) Expand 10 before | Expand all | Expand 10 after
542 std::swap(left, right); 542 std::swap(left, right);
543 break; 543 break;
544 case wasm::kExprI64GtU: 544 case wasm::kExprI64GtU:
545 op = m->Uint64LessThan(); 545 op = m->Uint64LessThan();
546 std::swap(left, right); 546 std::swap(left, right);
547 break; 547 break;
548 case wasm::kExprI64GeU: 548 case wasm::kExprI64GeU:
549 op = m->Uint64LessThanOrEqual(); 549 op = m->Uint64LessThanOrEqual();
550 std::swap(left, right); 550 std::swap(left, right);
551 break; 551 break;
552
553 #if WASM_64
554 // Opcodes only supported on 64-bit platforms.
555 // TODO(titzer): query the machine operator builder here instead of #ifdef.
556 case wasm::kExprI64Ror: 552 case wasm::kExprI64Ror:
557 op = m->Word64Ror(); 553 op = m->Word64Ror();
558 right = MaskShiftCount64(right); 554 right = MaskShiftCount64(right);
559 break; 555 break;
560 case wasm::kExprI64Rol: 556 case wasm::kExprI64Rol:
561 right = MaskShiftCount64(right);
562 return BuildI64Rol(left, right); 557 return BuildI64Rol(left, right);
563 #endif
564
565 case wasm::kExprF32CopySign: 558 case wasm::kExprF32CopySign:
566 return BuildF32CopySign(left, right); 559 return BuildF32CopySign(left, right);
567 case wasm::kExprF64CopySign: 560 case wasm::kExprF64CopySign:
568 return BuildF64CopySign(left, right); 561 return BuildF64CopySign(left, right);
569 case wasm::kExprF32Add: 562 case wasm::kExprF32Add:
570 op = m->Float32Add(); 563 op = m->Float32Add();
571 break; 564 break;
572 case wasm::kExprF32Sub: 565 case wasm::kExprF32Sub:
573 op = m->Float32Sub(); 566 op = m->Float32Sub();
574 break; 567 break;
(...skipping 2229 matching lines...) Expand 10 before | Expand all | Expand 10 after
2804 static_cast<int>(function.code_end_offset - function.code_start_offset), 2797 static_cast<int>(function.code_end_offset - function.code_start_offset),
2805 decode_ms, static_cast<int>(graph.NodeCount()), compile_ms); 2798 decode_ms, static_cast<int>(graph.NodeCount()), compile_ms);
2806 } 2799 }
2807 return code; 2800 return code;
2808 } 2801 }
2809 2802
2810 2803
2811 } // namespace compiler 2804 } // namespace compiler
2812 } // namespace internal 2805 } // namespace internal
2813 } // namespace v8 2806 } // namespace v8
OLDNEW
« no previous file with comments | « src/compiler/int64-lowering.cc ('k') | test/cctest/compiler/value-helper.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698