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

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

Issue 1768233002: [wasm] Int64Lowering of I64ShrU and I64ShrS on ia32. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Rebase. Created 4 years, 9 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/verifier.cc ('k') | src/compiler/x87/instruction-selector-x87.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/platform.h" 9 #include "src/base/platform/platform.h"
10 10
(...skipping 493 matching lines...) Expand 10 before | Expand all | Expand 10 after
504 break; 504 break;
505 // kExprI64Xor: 505 // kExprI64Xor:
506 case wasm::kExprI64Xor: 506 case wasm::kExprI64Xor:
507 op = m->Word64Xor(); 507 op = m->Word64Xor();
508 break; 508 break;
509 // kExprI64Shl: 509 // kExprI64Shl:
510 case wasm::kExprI64Shl: 510 case wasm::kExprI64Shl:
511 op = m->Word64Shl(); 511 op = m->Word64Shl();
512 break; 512 break;
513 // kExprI64ShrU: 513 // kExprI64ShrU:
514 case wasm::kExprI64ShrU:
515 op = m->Word64Shr();
516 break;
514 // kExprI64ShrS: 517 // kExprI64ShrS:
518 case wasm::kExprI64ShrS:
519 op = m->Word64Sar();
520 break;
515 // kExprI64Eq: 521 // kExprI64Eq:
516 case wasm::kExprI64Eq: 522 case wasm::kExprI64Eq:
517 op = m->Word64Equal(); 523 op = m->Word64Equal();
518 break; 524 break;
519 // kExprI64Ne: 525 // kExprI64Ne:
520 case wasm::kExprI64Ne: 526 case wasm::kExprI64Ne:
521 return Invert(Binop(wasm::kExprI64Eq, left, right)); 527 return Invert(Binop(wasm::kExprI64Eq, left, right));
522 // kExprI64LtS: 528 // kExprI64LtS:
523 case wasm::kExprI64LtS: 529 case wasm::kExprI64LtS:
524 op = m->Int64LessThan(); 530 op = m->Int64LessThan();
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
592 598
593 Node* rem = graph()->NewNode(m->Int64Mod(), left, right, d.if_false); 599 Node* rem = graph()->NewNode(m->Int64Mod(), left, right, d.if_false);
594 600
595 return d.Phi(MachineRepresentation::kWord64, jsgraph()->Int64Constant(0), 601 return d.Phi(MachineRepresentation::kWord64, jsgraph()->Int64Constant(0),
596 rem); 602 rem);
597 } 603 }
598 case wasm::kExprI64RemU: 604 case wasm::kExprI64RemU:
599 op = m->Uint64Mod(); 605 op = m->Uint64Mod();
600 return graph()->NewNode(op, left, right, 606 return graph()->NewNode(op, left, right,
601 trap_->ZeroCheck64(kTrapRemByZero, right)); 607 trap_->ZeroCheck64(kTrapRemByZero, right));
602 case wasm::kExprI64ShrU:
603 op = m->Word64Shr();
604 break;
605 case wasm::kExprI64ShrS:
606 op = m->Word64Sar();
607 break;
608 case wasm::kExprI64Ror: 608 case wasm::kExprI64Ror:
609 op = m->Word64Ror(); 609 op = m->Word64Ror();
610 break; 610 break;
611 case wasm::kExprI64Rol: 611 case wasm::kExprI64Rol:
612 return BuildI64Rol(left, right); 612 return BuildI64Rol(left, right);
613 #endif 613 #endif
614 614
615 case wasm::kExprF32CopySign: 615 case wasm::kExprF32CopySign:
616 return BuildF32CopySign(left, right); 616 return BuildF32CopySign(left, right);
617 case wasm::kExprF64CopySign: 617 case wasm::kExprF64CopySign:
(...skipping 1856 matching lines...) Expand 10 before | Expand all | Expand 10 after
2474 module_env->module->GetName(function.name_offset)); 2474 module_env->module->GetName(function.name_offset));
2475 } 2475 }
2476 2476
2477 return code; 2477 return code;
2478 } 2478 }
2479 2479
2480 2480
2481 } // namespace compiler 2481 } // namespace compiler
2482 } // namespace internal 2482 } // namespace internal
2483 } // namespace v8 2483 } // namespace v8
OLDNEW
« no previous file with comments | « src/compiler/verifier.cc ('k') | src/compiler/x87/instruction-selector-x87.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698