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

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

Issue 1145223002: MIPS: Add float instructions and test coverage, part two (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Addressed comments Created 5 years, 7 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/mips/simulator-mips.cc ('k') | src/mips64/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 (c) 1994-2006 Sun Microsystems Inc. 1 // Copyright (c) 1994-2006 Sun Microsystems Inc.
2 // All Rights Reserved. 2 // All Rights Reserved.
3 // 3 //
4 // Redistribution and use in source and binary forms, with or without 4 // Redistribution and use in source and binary forms, with or without
5 // modification, are permitted provided that the following conditions are 5 // modification, are permitted provided that the following conditions are
6 // met: 6 // met:
7 // 7 //
8 // - Redistributions of source code must retain the above copyright notice, 8 // - Redistributions of source code must retain the above copyright notice,
9 // this list of conditions and the following disclaimer. 9 // this list of conditions and the following disclaimer.
10 // 10 //
(...skipping 889 matching lines...) Expand 10 before | Expand all | Expand 10 after
900 void movt_d(FPURegister fd, FPURegister fs, uint16_t cc); 900 void movt_d(FPURegister fd, FPURegister fs, uint16_t cc);
901 void movf_s(FPURegister fd, FPURegister fs, uint16_t cc); 901 void movf_s(FPURegister fd, FPURegister fs, uint16_t cc);
902 void movf_d(FPURegister fd, FPURegister fs, uint16_t cc); 902 void movf_d(FPURegister fd, FPURegister fs, uint16_t cc);
903 void movn_s(FPURegister fd, FPURegister fs, Register rt); 903 void movn_s(FPURegister fd, FPURegister fs, Register rt);
904 void movn_d(FPURegister fd, FPURegister fs, Register rt); 904 void movn_d(FPURegister fd, FPURegister fs, Register rt);
905 // Bit twiddling. 905 // Bit twiddling.
906 void clz(Register rd, Register rs); 906 void clz(Register rd, Register rs);
907 void ins_(Register rt, Register rs, uint16_t pos, uint16_t size); 907 void ins_(Register rt, Register rs, uint16_t pos, uint16_t size);
908 void ext_(Register rt, Register rs, uint16_t pos, uint16_t size); 908 void ext_(Register rt, Register rs, uint16_t pos, uint16_t size);
909 void dext_(Register rt, Register rs, uint16_t pos, uint16_t size); 909 void dext_(Register rt, Register rs, uint16_t pos, uint16_t size);
910 void bitswap(Register rd, Register rt);
911 void dbitswap(Register rd, Register rt);
910 912
911 // --------Coprocessor-instructions---------------- 913 // --------Coprocessor-instructions----------------
912 914
913 // Load, store, and move. 915 // Load, store, and move.
914 void lwc1(FPURegister fd, const MemOperand& src); 916 void lwc1(FPURegister fd, const MemOperand& src);
915 void ldc1(FPURegister fd, const MemOperand& src); 917 void ldc1(FPURegister fd, const MemOperand& src);
916 918
917 void swc1(FPURegister fs, const MemOperand& dst); 919 void swc1(FPURegister fs, const MemOperand& dst);
918 void sdc1(FPURegister fs, const MemOperand& dst); 920 void sdc1(FPURegister fs, const MemOperand& dst);
919 921
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
971 void cvt_l_d(FPURegister fd, FPURegister fs); 973 void cvt_l_d(FPURegister fd, FPURegister fs);
972 void trunc_l_s(FPURegister fd, FPURegister fs); 974 void trunc_l_s(FPURegister fd, FPURegister fs);
973 void trunc_l_d(FPURegister fd, FPURegister fs); 975 void trunc_l_d(FPURegister fd, FPURegister fs);
974 void round_l_s(FPURegister fd, FPURegister fs); 976 void round_l_s(FPURegister fd, FPURegister fs);
975 void round_l_d(FPURegister fd, FPURegister fs); 977 void round_l_d(FPURegister fd, FPURegister fs);
976 void floor_l_s(FPURegister fd, FPURegister fs); 978 void floor_l_s(FPURegister fd, FPURegister fs);
977 void floor_l_d(FPURegister fd, FPURegister fs); 979 void floor_l_d(FPURegister fd, FPURegister fs);
978 void ceil_l_s(FPURegister fd, FPURegister fs); 980 void ceil_l_s(FPURegister fd, FPURegister fs);
979 void ceil_l_d(FPURegister fd, FPURegister fs); 981 void ceil_l_d(FPURegister fd, FPURegister fs);
980 982
983 void class_s(FPURegister fd, FPURegister fs);
984 void class_d(FPURegister fd, FPURegister fs);
985
981 void min(SecondaryField fmt, FPURegister fd, FPURegister fs, FPURegister ft); 986 void min(SecondaryField fmt, FPURegister fd, FPURegister fs, FPURegister ft);
982 void mina(SecondaryField fmt, FPURegister fd, FPURegister fs, FPURegister ft); 987 void mina(SecondaryField fmt, FPURegister fd, FPURegister fs, FPURegister ft);
983 void max(SecondaryField fmt, FPURegister fd, FPURegister fs, FPURegister ft); 988 void max(SecondaryField fmt, FPURegister fd, FPURegister fs, FPURegister ft);
984 void maxa(SecondaryField fmt, FPURegister fd, FPURegister fs, FPURegister ft); 989 void maxa(SecondaryField fmt, FPURegister fd, FPURegister fs, FPURegister ft);
985 void min_s(FPURegister fd, FPURegister fs, FPURegister ft); 990 void min_s(FPURegister fd, FPURegister fs, FPURegister ft);
986 void min_d(FPURegister fd, FPURegister fs, FPURegister ft); 991 void min_d(FPURegister fd, FPURegister fs, FPURegister ft);
987 void max_s(FPURegister fd, FPURegister fs, FPURegister ft); 992 void max_s(FPURegister fd, FPURegister fs, FPURegister ft);
988 void max_d(FPURegister fd, FPURegister fs, FPURegister ft); 993 void max_d(FPURegister fd, FPURegister fs, FPURegister ft);
989 void mina_s(FPURegister fd, FPURegister fs, FPURegister ft); 994 void mina_s(FPURegister fd, FPURegister fs, FPURegister ft);
990 void mina_d(FPURegister fd, FPURegister fs, FPURegister ft); 995 void mina_d(FPURegister fd, FPURegister fs, FPURegister ft);
991 void maxa_s(FPURegister fd, FPURegister fs, FPURegister ft); 996 void maxa_s(FPURegister fd, FPURegister fs, FPURegister ft);
992 void maxa_d(FPURegister fd, FPURegister fs, FPURegister ft); 997 void maxa_d(FPURegister fd, FPURegister fs, FPURegister ft);
993 998
994 void cvt_s_w(FPURegister fd, FPURegister fs); 999 void cvt_s_w(FPURegister fd, FPURegister fs);
995 void cvt_s_l(FPURegister fd, FPURegister fs); 1000 void cvt_s_l(FPURegister fd, FPURegister fs);
996 void cvt_s_d(FPURegister fd, FPURegister fs); 1001 void cvt_s_d(FPURegister fd, FPURegister fs);
997 1002
998 void cvt_d_w(FPURegister fd, FPURegister fs); 1003 void cvt_d_w(FPURegister fd, FPURegister fs);
999 void cvt_d_l(FPURegister fd, FPURegister fs); 1004 void cvt_d_l(FPURegister fd, FPURegister fs);
1000 void cvt_d_s(FPURegister fd, FPURegister fs); 1005 void cvt_d_s(FPURegister fd, FPURegister fs);
1001 1006
1002 // Conditions and branches for MIPSr6. 1007 // Conditions and branches for MIPSr6.
1003 void cmp(FPUCondition cond, SecondaryField fmt, 1008 void cmp(FPUCondition cond, SecondaryField fmt,
1004 FPURegister fd, FPURegister ft, FPURegister fs); 1009 FPURegister fd, FPURegister ft, FPURegister fs);
1010 void cmp_s(FPUCondition cond, FPURegister fd, FPURegister fs, FPURegister ft);
1011 void cmp_d(FPUCondition cond, FPURegister fd, FPURegister fs, FPURegister ft);
1005 1012
1006 void bc1eqz(int16_t offset, FPURegister ft); 1013 void bc1eqz(int16_t offset, FPURegister ft);
1007 void bc1eqz(Label* L, FPURegister ft) { 1014 void bc1eqz(Label* L, FPURegister ft) {
1008 bc1eqz(branch_offset(L, false)>>2, ft); 1015 bc1eqz(branch_offset(L, false)>>2, ft);
1009 } 1016 }
1010 void bc1nez(int16_t offset, FPURegister ft); 1017 void bc1nez(int16_t offset, FPURegister ft);
1011 void bc1nez(Label* L, FPURegister ft) { 1018 void bc1nez(Label* L, FPURegister ft) {
1012 bc1nez(branch_offset(L, false)>>2, ft); 1019 bc1nez(branch_offset(L, false)>>2, ft);
1013 } 1020 }
1014 1021
1015 // Conditions and branches for non MIPSr6. 1022 // Conditions and branches for non MIPSr6.
1016 void c(FPUCondition cond, SecondaryField fmt, 1023 void c(FPUCondition cond, SecondaryField fmt,
1017 FPURegister ft, FPURegister fs, uint16_t cc = 0); 1024 FPURegister ft, FPURegister fs, uint16_t cc = 0);
1025 void c_s(FPUCondition cond, FPURegister ft, FPURegister fs, uint16_t cc = 0);
1026 void c_d(FPUCondition cond, FPURegister ft, FPURegister fs, uint16_t cc = 0);
1018 1027
1019 void bc1f(int16_t offset, uint16_t cc = 0); 1028 void bc1f(int16_t offset, uint16_t cc = 0);
1020 void bc1f(Label* L, uint16_t cc = 0) { 1029 void bc1f(Label* L, uint16_t cc = 0) {
1021 bc1f(branch_offset(L, false)>>2, cc); 1030 bc1f(branch_offset(L, false)>>2, cc);
1022 } 1031 }
1023 void bc1t(int16_t offset, uint16_t cc = 0); 1032 void bc1t(int16_t offset, uint16_t cc = 0);
1024 void bc1t(Label* L, uint16_t cc = 0) { 1033 void bc1t(Label* L, uint16_t cc = 0) {
1025 bc1t(branch_offset(L, false)>>2, cc); 1034 bc1t(branch_offset(L, false)>>2, cc);
1026 } 1035 }
1027 void fcmp(FPURegister src1, const double src2, FPUCondition cond); 1036 void fcmp(FPURegister src1, const double src2, FPUCondition cond);
(...skipping 441 matching lines...) Expand 10 before | Expand all | Expand 10 after
1469 class EnsureSpace BASE_EMBEDDED { 1478 class EnsureSpace BASE_EMBEDDED {
1470 public: 1479 public:
1471 explicit EnsureSpace(Assembler* assembler) { 1480 explicit EnsureSpace(Assembler* assembler) {
1472 assembler->CheckBuffer(); 1481 assembler->CheckBuffer();
1473 } 1482 }
1474 }; 1483 };
1475 1484
1476 } } // namespace v8::internal 1485 } } // namespace v8::internal
1477 1486
1478 #endif // V8_ARM_ASSEMBLER_MIPS_H_ 1487 #endif // V8_ARM_ASSEMBLER_MIPS_H_
OLDNEW
« no previous file with comments | « src/mips/simulator-mips.cc ('k') | src/mips64/assembler-mips64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698