| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 #ifndef V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ | 5 #ifndef V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ |
| 6 #define V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ | 6 #define V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ |
| 7 | 7 |
| 8 #include "src/assembler.h" | 8 #include "src/assembler.h" |
| 9 #include "src/globals.h" | 9 #include "src/globals.h" |
| 10 #include "src/mips64/assembler-mips64.h" | 10 #include "src/mips64/assembler-mips64.h" |
| (...skipping 783 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 794 void Round_w_d(FPURegister fd, FPURegister fs); | 794 void Round_w_d(FPURegister fd, FPURegister fs); |
| 795 void Floor_w_d(FPURegister fd, FPURegister fs); | 795 void Floor_w_d(FPURegister fd, FPURegister fs); |
| 796 void Ceil_w_d(FPURegister fd, FPURegister fs); | 796 void Ceil_w_d(FPURegister fd, FPURegister fs); |
| 797 | 797 |
| 798 void Madd_d(FPURegister fd, | 798 void Madd_d(FPURegister fd, |
| 799 FPURegister fr, | 799 FPURegister fr, |
| 800 FPURegister fs, | 800 FPURegister fs, |
| 801 FPURegister ft, | 801 FPURegister ft, |
| 802 FPURegister scratch); | 802 FPURegister scratch); |
| 803 | 803 |
| 804 // Wrapper function for the different cmp/branch types. | 804 // Wrapper functions for the different cmp/branch types. |
| 805 void BranchFSize(SecondaryField sizeField, Label* target, Label* nan, |
| 806 Condition cc, FPURegister cmp1, FPURegister cmp2, |
| 807 BranchDelaySlot bd = PROTECT); |
| 808 |
| 805 void BranchF(Label* target, | 809 void BranchF(Label* target, |
| 806 Label* nan, | 810 Label* nan, |
| 807 Condition cc, | 811 Condition cc, |
| 808 FPURegister cmp1, | 812 FPURegister cmp1, |
| 809 FPURegister cmp2, | 813 FPURegister cmp2, |
| 810 BranchDelaySlot bd = PROTECT); | 814 BranchDelaySlot bd = PROTECT); |
| 811 | 815 |
| 816 void BranchFS(Label* target, Label* nan, Condition cc, FPURegister cmp1, |
| 817 FPURegister cmp2, BranchDelaySlot bd = PROTECT); |
| 818 |
| 812 // Alternate (inline) version for better readability with USE_DELAY_SLOT. | 819 // Alternate (inline) version for better readability with USE_DELAY_SLOT. |
| 813 inline void BranchF(BranchDelaySlot bd, | 820 inline void BranchF(BranchDelaySlot bd, |
| 814 Label* target, | 821 Label* target, |
| 815 Label* nan, | 822 Label* nan, |
| 816 Condition cc, | 823 Condition cc, |
| 817 FPURegister cmp1, | 824 FPURegister cmp1, |
| 818 FPURegister cmp2) { | 825 FPURegister cmp2) { |
| 819 BranchF(target, nan, cc, cmp1, cmp2, bd); | 826 BranchF(target, nan, cc, cmp1, cmp2, bd); |
| 820 } | 827 } |
| 821 | 828 |
| 829 inline void BranchFS(BranchDelaySlot bd, Label* target, Label* nan, |
| 830 Condition cc, FPURegister cmp1, FPURegister cmp2) { |
| 831 BranchFS(target, nan, cc, cmp1, cmp2, bd); |
| 832 } |
| 833 |
| 822 // Truncates a double using a specific rounding mode, and writes the value | 834 // Truncates a double using a specific rounding mode, and writes the value |
| 823 // to the result register. | 835 // to the result register. |
| 824 // The except_flag will contain any exceptions caused by the instruction. | 836 // The except_flag will contain any exceptions caused by the instruction. |
| 825 // If check_inexact is kDontCheckForInexactConversion, then the inexact | 837 // If check_inexact is kDontCheckForInexactConversion, then the inexact |
| 826 // exception is masked. | 838 // exception is masked. |
| 827 void EmitFPUTruncate(FPURoundingMode rounding_mode, | 839 void EmitFPUTruncate(FPURoundingMode rounding_mode, |
| 828 Register result, | 840 Register result, |
| 829 DoubleRegister double_input, | 841 DoubleRegister double_input, |
| 830 Register scratch, | 842 Register scratch, |
| 831 DoubleRegister double_scratch, | 843 DoubleRegister double_scratch, |
| (...skipping 951 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1783 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) | 1795 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) |
| 1784 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 1796 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) |
| 1785 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 1797 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> |
| 1786 #else | 1798 #else |
| 1787 #define ACCESS_MASM(masm) masm-> | 1799 #define ACCESS_MASM(masm) masm-> |
| 1788 #endif | 1800 #endif |
| 1789 | 1801 |
| 1790 } } // namespace v8::internal | 1802 } } // namespace v8::internal |
| 1791 | 1803 |
| 1792 #endif // V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ | 1804 #endif // V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ |
| OLD | NEW |