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

Side by Side Diff: src/mips64/macro-assembler-mips64.h

Issue 1045203003: MIPS64: [turbofan] Add backend support for float32 operations. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 8 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/mips64/assembler-mips64.cc ('k') | src/mips64/macro-assembler-mips64.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 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
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
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_
OLDNEW
« no previous file with comments | « src/mips64/assembler-mips64.cc ('k') | src/mips64/macro-assembler-mips64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698