OLD | NEW |
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 Loading... |
504 op = m->Word64Xor(); | 504 op = m->Word64Xor(); |
505 break; | 505 break; |
506 // kExprI64Shl: | 506 // kExprI64Shl: |
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: |
| 515 return Invert(Binop(wasm::kExprI64Eq, left, right)); |
514 // kExprI64LtS: | 516 // kExprI64LtS: |
515 // kExprI64LeS: | 517 // kExprI64LeS: |
516 // kExprI64LtU: | 518 // kExprI64LtU: |
517 // kExprI64LeU: | 519 // kExprI64LeU: |
518 // kExprI64GtS: | 520 // kExprI64GtS: |
519 // kExprI64GeS: | 521 // kExprI64GeS: |
520 // kExprI64GtU: | 522 // kExprI64GtU: |
521 // kExprI64GeU: | 523 // kExprI64GeU: |
522 | 524 |
523 // kExprI32ConvertI64: | 525 // kExprI32ConvertI64: |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
591 trap_->ZeroCheck64(kTrapRemByZero, right)); | 593 trap_->ZeroCheck64(kTrapRemByZero, right)); |
592 case wasm::kExprI64Shl: | 594 case wasm::kExprI64Shl: |
593 op = m->Word64Shl(); | 595 op = m->Word64Shl(); |
594 break; | 596 break; |
595 case wasm::kExprI64ShrU: | 597 case wasm::kExprI64ShrU: |
596 op = m->Word64Shr(); | 598 op = m->Word64Shr(); |
597 break; | 599 break; |
598 case wasm::kExprI64ShrS: | 600 case wasm::kExprI64ShrS: |
599 op = m->Word64Sar(); | 601 op = m->Word64Sar(); |
600 break; | 602 break; |
601 case wasm::kExprI64Ne: | |
602 return Invert(Binop(wasm::kExprI64Eq, left, right)); | |
603 case wasm::kExprI64LtS: | 603 case wasm::kExprI64LtS: |
604 op = m->Int64LessThan(); | 604 op = m->Int64LessThan(); |
605 break; | 605 break; |
606 case wasm::kExprI64LeS: | 606 case wasm::kExprI64LeS: |
607 op = m->Int64LessThanOrEqual(); | 607 op = m->Int64LessThanOrEqual(); |
608 break; | 608 break; |
609 case wasm::kExprI64LtU: | 609 case wasm::kExprI64LtU: |
610 op = m->Uint64LessThan(); | 610 op = m->Uint64LessThan(); |
611 break; | 611 break; |
612 case wasm::kExprI64LeU: | 612 case wasm::kExprI64LeU: |
(...skipping 1641 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2254 module_env->module->GetName(function.name_offset)); | 2254 module_env->module->GetName(function.name_offset)); |
2255 } | 2255 } |
2256 | 2256 |
2257 return code; | 2257 return code; |
2258 } | 2258 } |
2259 | 2259 |
2260 | 2260 |
2261 } // namespace compiler | 2261 } // namespace compiler |
2262 } // namespace internal | 2262 } // namespace internal |
2263 } // namespace v8 | 2263 } // namespace v8 |
OLD | NEW |