| OLD | NEW |
| 1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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/code-generator.h" | 5 #include "src/compiler/code-generator.h" |
| 6 | 6 |
| 7 #include "src/arm64/macro-assembler-arm64.h" | 7 #include "src/arm64/macro-assembler-arm64.h" |
| 8 #include "src/compiler/code-generator-impl.h" | 8 #include "src/compiler/code-generator-impl.h" |
| 9 #include "src/compiler/gap-resolver.h" | 9 #include "src/compiler/gap-resolver.h" |
| 10 #include "src/compiler/node-matchers.h" | 10 #include "src/compiler/node-matchers.h" |
| (...skipping 769 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 780 } | 780 } |
| 781 } else { | 781 } else { |
| 782 switch (condition) { | 782 switch (condition) { |
| 783 case kUnorderedEqual: | 783 case kUnorderedEqual: |
| 784 __ B(vs, flabel); | 784 __ B(vs, flabel); |
| 785 // Fall through. | 785 // Fall through. |
| 786 case kEqual: | 786 case kEqual: |
| 787 __ B(eq, tlabel); | 787 __ B(eq, tlabel); |
| 788 break; | 788 break; |
| 789 case kUnorderedNotEqual: | 789 case kUnorderedNotEqual: |
| 790 __ B(vs, tlabel); | 790 // Unordered or not equal can be tested with "ne" condtion. |
| 791 // Fall through. | 791 // See ARMv8 manual C1.2.3 - Condition Code. |
| 792 case kNotEqual: | 792 case kNotEqual: |
| 793 __ B(ne, tlabel); | 793 __ B(ne, tlabel); |
| 794 break; | 794 break; |
| 795 case kSignedLessThan: | 795 case kSignedLessThan: |
| 796 __ B(lt, tlabel); | 796 __ B(lt, tlabel); |
| 797 break; | 797 break; |
| 798 case kSignedGreaterThanOrEqual: | 798 case kSignedGreaterThanOrEqual: |
| 799 __ B(ge, tlabel); | 799 __ B(ge, tlabel); |
| 800 break; | 800 break; |
| 801 case kSignedLessThanOrEqual: | 801 case kSignedLessThanOrEqual: |
| 802 __ B(le, tlabel); | 802 __ B(le, tlabel); |
| 803 break; | 803 break; |
| 804 case kSignedGreaterThan: | 804 case kSignedGreaterThan: |
| 805 __ B(gt, tlabel); | 805 __ B(gt, tlabel); |
| 806 break; | 806 break; |
| 807 case kUnorderedLessThan: | 807 case kUnorderedLessThan: |
| 808 __ B(vs, flabel); | 808 __ B(vs, flabel); |
| 809 // Fall through. | 809 // Fall through. |
| 810 case kUnsignedLessThan: | 810 case kUnsignedLessThan: |
| 811 __ B(lo, tlabel); | 811 __ B(lo, tlabel); |
| 812 break; | 812 break; |
| 813 case kUnorderedGreaterThanOrEqual: | 813 case kUnorderedGreaterThanOrEqual: |
| 814 __ B(vs, tlabel); | 814 // Unordered, greater than or equal can be tested with "hs" condtion. |
| 815 // Fall through. | 815 // See ARMv8 manual C1.2.3 - Condition Code. |
| 816 case kUnsignedGreaterThanOrEqual: | 816 case kUnsignedGreaterThanOrEqual: |
| 817 __ B(hs, tlabel); | 817 __ B(hs, tlabel); |
| 818 break; | 818 break; |
| 819 case kUnorderedLessThanOrEqual: | 819 case kUnorderedLessThanOrEqual: |
| 820 __ B(vs, flabel); | 820 __ B(vs, flabel); |
| 821 // Fall through. | 821 // Fall through. |
| 822 case kUnsignedLessThanOrEqual: | 822 case kUnsignedLessThanOrEqual: |
| 823 __ B(ls, tlabel); | 823 __ B(ls, tlabel); |
| 824 break; | 824 break; |
| 825 case kUnorderedGreaterThan: | 825 case kUnorderedGreaterThan: |
| 826 __ B(vs, tlabel); | 826 // Unordered or greater than can be tested with "hi" condtion. |
| 827 // Fall through. | 827 // See ARMv8 manual C1.2.3 - Condition Code. |
| 828 case kUnsignedGreaterThan: | 828 case kUnsignedGreaterThan: |
| 829 __ B(hi, tlabel); | 829 __ B(hi, tlabel); |
| 830 break; | 830 break; |
| 831 case kOverflow: | 831 case kOverflow: |
| 832 __ B(vs, tlabel); | 832 __ B(vs, tlabel); |
| 833 break; | 833 break; |
| 834 case kNotOverflow: | 834 case kNotOverflow: |
| 835 __ B(vc, tlabel); | 835 __ B(vc, tlabel); |
| 836 break; | 836 break; |
| 837 } | 837 } |
| (...skipping 333 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1171 } | 1171 } |
| 1172 } | 1172 } |
| 1173 MarkLazyDeoptSite(); | 1173 MarkLazyDeoptSite(); |
| 1174 } | 1174 } |
| 1175 | 1175 |
| 1176 #undef __ | 1176 #undef __ |
| 1177 | 1177 |
| 1178 } // namespace compiler | 1178 } // namespace compiler |
| 1179 } // namespace internal | 1179 } // namespace internal |
| 1180 } // namespace v8 | 1180 } // namespace v8 |
| OLD | NEW |