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

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

Issue 1756863002: [wasm] Int64Lowering of I64Shl on ia32. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Forgot to turn off the test for arm. 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 491 matching lines...) Expand 10 before | Expand all | Expand 10 after
502 // kExprI64And: 502 // kExprI64And:
503 // kExprI64Ior: 503 // kExprI64Ior:
504 case wasm::kExprI64Ior: 504 case wasm::kExprI64Ior:
505 op = m->Word64Or(); 505 op = m->Word64Or();
506 break; 506 break;
507 // kExprI64Xor: 507 // kExprI64Xor:
508 case wasm::kExprI64Xor: 508 case wasm::kExprI64Xor:
509 op = m->Word64Xor(); 509 op = m->Word64Xor();
510 break; 510 break;
511 // kExprI64Shl: 511 // kExprI64Shl:
512 // kExprI64ShrU: 512 case wasm::kExprI64Shl:
513 // kExprI64ShrS: 513 op = m->Word64Shl();
514 // kExprI64Eq: 514 break;
515 // kExprI64ShrU:
516 // kExprI64ShrS:
517 // kExprI64Eq:
515 case wasm::kExprI64Eq: 518 case wasm::kExprI64Eq:
516 op = m->Word64Equal(); 519 op = m->Word64Equal();
517 break; 520 break;
518 // kExprI64Ne: 521 // kExprI64Ne:
519 case wasm::kExprI64Ne: 522 case wasm::kExprI64Ne:
520 return Invert(Binop(wasm::kExprI64Eq, left, right)); 523 return Invert(Binop(wasm::kExprI64Eq, left, right));
521 // kExprI64LtS: 524 // kExprI64LtS:
522 case wasm::kExprI64LtS: 525 case wasm::kExprI64LtS:
523 op = m->Int64LessThan(); 526 op = m->Int64LessThan();
524 break; 527 break;
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
591 594
592 Node* rem = graph()->NewNode(m->Int64Mod(), left, right, d.if_false); 595 Node* rem = graph()->NewNode(m->Int64Mod(), left, right, d.if_false);
593 596
594 return d.Phi(MachineRepresentation::kWord64, jsgraph()->Int64Constant(0), 597 return d.Phi(MachineRepresentation::kWord64, jsgraph()->Int64Constant(0),
595 rem); 598 rem);
596 } 599 }
597 case wasm::kExprI64RemU: 600 case wasm::kExprI64RemU:
598 op = m->Uint64Mod(); 601 op = m->Uint64Mod();
599 return graph()->NewNode(op, left, right, 602 return graph()->NewNode(op, left, right,
600 trap_->ZeroCheck64(kTrapRemByZero, right)); 603 trap_->ZeroCheck64(kTrapRemByZero, right));
601 case wasm::kExprI64Shl:
602 op = m->Word64Shl();
603 break;
604 case wasm::kExprI64ShrU: 604 case wasm::kExprI64ShrU:
605 op = m->Word64Shr(); 605 op = m->Word64Shr();
606 break; 606 break;
607 case wasm::kExprI64ShrS: 607 case wasm::kExprI64ShrS:
608 op = m->Word64Sar(); 608 op = m->Word64Sar();
609 break; 609 break;
610 case wasm::kExprI64Ror: 610 case wasm::kExprI64Ror:
611 op = m->Word64Ror(); 611 op = m->Word64Ror();
612 break; 612 break;
613 case wasm::kExprI64Rol: 613 case wasm::kExprI64Rol:
(...skipping 1869 matching lines...) Expand 10 before | Expand all | Expand 10 after
2483 module_env->module->GetName(function.name_offset)); 2483 module_env->module->GetName(function.name_offset));
2484 } 2484 }
2485 2485
2486 return code; 2486 return code;
2487 } 2487 }
2488 2488
2489 2489
2490 } // namespace compiler 2490 } // namespace compiler
2491 } // namespace internal 2491 } // namespace internal
2492 } // namespace v8 2492 } // 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