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

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

Issue 1729263002: [wasm] I added comparison operators to the Int64Lowering. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: git rebase Created 4 years, 10 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/wasm/test-run-wasm-64.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 496 matching lines...) Expand 10 before | Expand all | Expand 10 after
507 // kExprI64ShrU: 507 // kExprI64ShrU:
508 // kExprI64ShrS: 508 // kExprI64ShrS:
509 // kExprI64Eq: 509 // kExprI64Eq:
510 case wasm::kExprI64Eq: 510 case wasm::kExprI64Eq:
511 op = m->Word64Equal(); 511 op = m->Word64Equal();
512 break; 512 break;
513 // kExprI64Ne: 513 // kExprI64Ne:
514 case wasm::kExprI64Ne: 514 case wasm::kExprI64Ne:
515 return Invert(Binop(wasm::kExprI64Eq, left, right)); 515 return Invert(Binop(wasm::kExprI64Eq, left, right));
516 // kExprI64LtS: 516 // kExprI64LtS:
517 // kExprI64LeS: 517 case wasm::kExprI64LtS:
518 // kExprI64LtU: 518 op = m->Int64LessThan();
519 // kExprI64LeU: 519 break;
520 // kExprI64GtS: 520 case wasm::kExprI64LeS:
521 // kExprI64GeS: 521 op = m->Int64LessThanOrEqual();
522 // kExprI64GtU: 522 break;
523 // kExprI64GeU: 523 case wasm::kExprI64LtU:
524 op = m->Uint64LessThan();
525 break;
526 case wasm::kExprI64LeU:
527 op = m->Uint64LessThanOrEqual();
528 break;
529 case wasm::kExprI64GtS:
530 op = m->Int64LessThan();
531 std::swap(left, right);
532 break;
533 case wasm::kExprI64GeS:
534 op = m->Int64LessThanOrEqual();
535 std::swap(left, right);
536 break;
537 case wasm::kExprI64GtU:
538 op = m->Uint64LessThan();
539 std::swap(left, right);
540 break;
541 case wasm::kExprI64GeU:
542 op = m->Uint64LessThanOrEqual();
543 std::swap(left, right);
544 break;
524 545
525 // kExprI32ConvertI64: 546 // kExprI32ConvertI64:
526 // kExprI64SConvertI32: 547 // kExprI64SConvertI32:
527 // kExprI64UConvertI32: 548 // kExprI64UConvertI32:
528 549
529 // kExprF64ReinterpretI64: 550 // kExprF64ReinterpretI64:
530 // kExprI64ReinterpretF64: 551 // kExprI64ReinterpretF64:
531 552
532 // kExprI64Clz: 553 // kExprI64Clz:
533 // kExprI64Ctz: 554 // kExprI64Ctz:
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
593 trap_->ZeroCheck64(kTrapRemByZero, right)); 614 trap_->ZeroCheck64(kTrapRemByZero, right));
594 case wasm::kExprI64Shl: 615 case wasm::kExprI64Shl:
595 op = m->Word64Shl(); 616 op = m->Word64Shl();
596 break; 617 break;
597 case wasm::kExprI64ShrU: 618 case wasm::kExprI64ShrU:
598 op = m->Word64Shr(); 619 op = m->Word64Shr();
599 break; 620 break;
600 case wasm::kExprI64ShrS: 621 case wasm::kExprI64ShrS:
601 op = m->Word64Sar(); 622 op = m->Word64Sar();
602 break; 623 break;
603 case wasm::kExprI64LtS:
604 op = m->Int64LessThan();
605 break;
606 case wasm::kExprI64LeS:
607 op = m->Int64LessThanOrEqual();
608 break;
609 case wasm::kExprI64LtU:
610 op = m->Uint64LessThan();
611 break;
612 case wasm::kExprI64LeU:
613 op = m->Uint64LessThanOrEqual();
614 break;
615 case wasm::kExprI64GtS:
616 op = m->Int64LessThan();
617 std::swap(left, right);
618 break;
619 case wasm::kExprI64GeS:
620 op = m->Int64LessThanOrEqual();
621 std::swap(left, right);
622 break;
623 case wasm::kExprI64GtU:
624 op = m->Uint64LessThan();
625 std::swap(left, right);
626 break;
627 case wasm::kExprI64GeU:
628 op = m->Uint64LessThanOrEqual();
629 std::swap(left, right);
630 break;
631 #endif 624 #endif
632 625
633 case wasm::kExprF32CopySign: 626 case wasm::kExprF32CopySign:
634 return BuildF32CopySign(left, right); 627 return BuildF32CopySign(left, right);
635 case wasm::kExprF64CopySign: 628 case wasm::kExprF64CopySign:
636 return BuildF64CopySign(left, right); 629 return BuildF64CopySign(left, right);
637 case wasm::kExprF32Add: 630 case wasm::kExprF32Add:
638 op = m->Float32Add(); 631 op = m->Float32Add();
639 break; 632 break;
640 case wasm::kExprF32Sub: 633 case wasm::kExprF32Sub:
(...skipping 1613 matching lines...) Expand 10 before | Expand all | Expand 10 after
2254 module_env->module->GetName(function.name_offset)); 2247 module_env->module->GetName(function.name_offset));
2255 } 2248 }
2256 2249
2257 return code; 2250 return code;
2258 } 2251 }
2259 2252
2260 2253
2261 } // namespace compiler 2254 } // namespace compiler
2262 } // namespace internal 2255 } // namespace internal
2263 } // namespace v8 2256 } // namespace v8
OLDNEW
« no previous file with comments | « src/compiler/int64-lowering.cc ('k') | test/cctest/wasm/test-run-wasm-64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698