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

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
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 495 matching lines...) Expand 10 before | Expand all | Expand 10 after
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 case wasm::kExprI64Shl: 512 case wasm::kExprI64Shl:
513 op = m->Word64Shl(); 513 op = m->Word64Shl();
514 break; 514 break;
515 // kExprI64ShrU: 515 // kExprI64ShrU:
516 case wasm::kExprI64ShrU:
517 op = m->Word64Shr();
518 break;
516 // kExprI64ShrS: 519 // kExprI64ShrS:
520 case wasm::kExprI64ShrS:
521 op = m->Word64Sar();
522 break;
517 // kExprI64Eq: 523 // kExprI64Eq:
518 case wasm::kExprI64Eq: 524 case wasm::kExprI64Eq:
519 op = m->Word64Equal(); 525 op = m->Word64Equal();
520 break; 526 break;
521 // kExprI64Ne: 527 // kExprI64Ne:
522 case wasm::kExprI64Ne: 528 case wasm::kExprI64Ne:
523 return Invert(Binop(wasm::kExprI64Eq, left, right)); 529 return Invert(Binop(wasm::kExprI64Eq, left, right));
524 // kExprI64LtS: 530 // kExprI64LtS:
525 case wasm::kExprI64LtS: 531 case wasm::kExprI64LtS:
526 op = m->Int64LessThan(); 532 op = m->Int64LessThan();
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
594 600
595 Node* rem = graph()->NewNode(m->Int64Mod(), left, right, d.if_false); 601 Node* rem = graph()->NewNode(m->Int64Mod(), left, right, d.if_false);
596 602
597 return d.Phi(MachineRepresentation::kWord64, jsgraph()->Int64Constant(0), 603 return d.Phi(MachineRepresentation::kWord64, jsgraph()->Int64Constant(0),
598 rem); 604 rem);
599 } 605 }
600 case wasm::kExprI64RemU: 606 case wasm::kExprI64RemU:
601 op = m->Uint64Mod(); 607 op = m->Uint64Mod();
602 return graph()->NewNode(op, left, right, 608 return graph()->NewNode(op, left, right,
603 trap_->ZeroCheck64(kTrapRemByZero, right)); 609 trap_->ZeroCheck64(kTrapRemByZero, right));
604 case wasm::kExprI64ShrU:
605 op = m->Word64Shr();
606 break;
607 case wasm::kExprI64ShrS:
608 op = m->Word64Sar();
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:
614 return BuildI64Rol(left, right); 614 return BuildI64Rol(left, right);
615 #endif 615 #endif
616 616
617 case wasm::kExprF32CopySign: 617 case wasm::kExprF32CopySign:
618 return BuildF32CopySign(left, right); 618 return BuildF32CopySign(left, right);
619 case wasm::kExprF64CopySign: 619 case wasm::kExprF64CopySign:
(...skipping 1854 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

Powered by Google App Engine
This is Rietveld 408576698