OLD | NEW |
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 860 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
871 void movt_s(FPURegister fd, FPURegister fs, uint16_t cc); | 871 void movt_s(FPURegister fd, FPURegister fs, uint16_t cc); |
872 void movt_d(FPURegister fd, FPURegister fs, uint16_t cc); | 872 void movt_d(FPURegister fd, FPURegister fs, uint16_t cc); |
873 void movf_s(FPURegister fd, FPURegister fs, uint16_t cc); | 873 void movf_s(FPURegister fd, FPURegister fs, uint16_t cc); |
874 void movf_d(FPURegister fd, FPURegister fs, uint16_t cc); | 874 void movf_d(FPURegister fd, FPURegister fs, uint16_t cc); |
875 void movn_s(FPURegister fd, FPURegister fs, Register rt); | 875 void movn_s(FPURegister fd, FPURegister fs, Register rt); |
876 void movn_d(FPURegister fd, FPURegister fs, Register rt); | 876 void movn_d(FPURegister fd, FPURegister fs, Register rt); |
877 // Bit twiddling. | 877 // Bit twiddling. |
878 void clz(Register rd, Register rs); | 878 void clz(Register rd, Register rs); |
879 void ins_(Register rt, Register rs, uint16_t pos, uint16_t size); | 879 void ins_(Register rt, Register rs, uint16_t pos, uint16_t size); |
880 void ext_(Register rt, Register rs, uint16_t pos, uint16_t size); | 880 void ext_(Register rt, Register rs, uint16_t pos, uint16_t size); |
| 881 void bitswap(Register rd, Register rt); |
881 | 882 |
882 // --------Coprocessor-instructions---------------- | 883 // --------Coprocessor-instructions---------------- |
883 | 884 |
884 // Load, store, and move. | 885 // Load, store, and move. |
885 void lwc1(FPURegister fd, const MemOperand& src); | 886 void lwc1(FPURegister fd, const MemOperand& src); |
886 void ldc1(FPURegister fd, const MemOperand& src); | 887 void ldc1(FPURegister fd, const MemOperand& src); |
887 | 888 |
888 void swc1(FPURegister fs, const MemOperand& dst); | 889 void swc1(FPURegister fs, const MemOperand& dst); |
889 void sdc1(FPURegister fs, const MemOperand& dst); | 890 void sdc1(FPURegister fs, const MemOperand& dst); |
890 | 891 |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
939 void cvt_l_d(FPURegister fd, FPURegister fs); | 940 void cvt_l_d(FPURegister fd, FPURegister fs); |
940 void trunc_l_s(FPURegister fd, FPURegister fs); | 941 void trunc_l_s(FPURegister fd, FPURegister fs); |
941 void trunc_l_d(FPURegister fd, FPURegister fs); | 942 void trunc_l_d(FPURegister fd, FPURegister fs); |
942 void round_l_s(FPURegister fd, FPURegister fs); | 943 void round_l_s(FPURegister fd, FPURegister fs); |
943 void round_l_d(FPURegister fd, FPURegister fs); | 944 void round_l_d(FPURegister fd, FPURegister fs); |
944 void floor_l_s(FPURegister fd, FPURegister fs); | 945 void floor_l_s(FPURegister fd, FPURegister fs); |
945 void floor_l_d(FPURegister fd, FPURegister fs); | 946 void floor_l_d(FPURegister fd, FPURegister fs); |
946 void ceil_l_s(FPURegister fd, FPURegister fs); | 947 void ceil_l_s(FPURegister fd, FPURegister fs); |
947 void ceil_l_d(FPURegister fd, FPURegister fs); | 948 void ceil_l_d(FPURegister fd, FPURegister fs); |
948 | 949 |
| 950 void class_s(FPURegister fd, FPURegister fs); |
| 951 void class_d(FPURegister fd, FPURegister fs); |
| 952 |
949 void min(SecondaryField fmt, FPURegister fd, FPURegister fs, FPURegister ft); | 953 void min(SecondaryField fmt, FPURegister fd, FPURegister fs, FPURegister ft); |
950 void mina(SecondaryField fmt, FPURegister fd, FPURegister fs, FPURegister ft); | 954 void mina(SecondaryField fmt, FPURegister fd, FPURegister fs, FPURegister ft); |
951 void max(SecondaryField fmt, FPURegister fd, FPURegister fs, FPURegister ft); | 955 void max(SecondaryField fmt, FPURegister fd, FPURegister fs, FPURegister ft); |
952 void maxa(SecondaryField fmt, FPURegister fd, FPURegister fs, FPURegister ft); | 956 void maxa(SecondaryField fmt, FPURegister fd, FPURegister fs, FPURegister ft); |
953 void min_s(FPURegister fd, FPURegister fs, FPURegister ft); | 957 void min_s(FPURegister fd, FPURegister fs, FPURegister ft); |
954 void min_d(FPURegister fd, FPURegister fs, FPURegister ft); | 958 void min_d(FPURegister fd, FPURegister fs, FPURegister ft); |
955 void max_s(FPURegister fd, FPURegister fs, FPURegister ft); | 959 void max_s(FPURegister fd, FPURegister fs, FPURegister ft); |
956 void max_d(FPURegister fd, FPURegister fs, FPURegister ft); | 960 void max_d(FPURegister fd, FPURegister fs, FPURegister ft); |
957 void mina_s(FPURegister fd, FPURegister fs, FPURegister ft); | 961 void mina_s(FPURegister fd, FPURegister fs, FPURegister ft); |
958 void mina_d(FPURegister fd, FPURegister fs, FPURegister ft); | 962 void mina_d(FPURegister fd, FPURegister fs, FPURegister ft); |
959 void maxa_s(FPURegister fd, FPURegister fs, FPURegister ft); | 963 void maxa_s(FPURegister fd, FPURegister fs, FPURegister ft); |
960 void maxa_d(FPURegister fd, FPURegister fs, FPURegister ft); | 964 void maxa_d(FPURegister fd, FPURegister fs, FPURegister ft); |
961 | 965 |
962 void cvt_s_w(FPURegister fd, FPURegister fs); | 966 void cvt_s_w(FPURegister fd, FPURegister fs); |
963 void cvt_s_l(FPURegister fd, FPURegister fs); | 967 void cvt_s_l(FPURegister fd, FPURegister fs); |
964 void cvt_s_d(FPURegister fd, FPURegister fs); | 968 void cvt_s_d(FPURegister fd, FPURegister fs); |
965 | 969 |
966 void cvt_d_w(FPURegister fd, FPURegister fs); | 970 void cvt_d_w(FPURegister fd, FPURegister fs); |
967 void cvt_d_l(FPURegister fd, FPURegister fs); | 971 void cvt_d_l(FPURegister fd, FPURegister fs); |
968 void cvt_d_s(FPURegister fd, FPURegister fs); | 972 void cvt_d_s(FPURegister fd, FPURegister fs); |
969 | 973 |
970 // Conditions and branches for MIPSr6. | 974 // Conditions and branches for MIPSr6. |
971 void cmp(FPUCondition cond, SecondaryField fmt, | 975 void cmp(FPUCondition cond, SecondaryField fmt, |
972 FPURegister fd, FPURegister ft, FPURegister fs); | 976 FPURegister fd, FPURegister ft, FPURegister fs); |
| 977 void cmp_s(FPUCondition cond, FPURegister fd, FPURegister fs, FPURegister ft); |
| 978 void cmp_d(FPUCondition cond, FPURegister fd, FPURegister fs, FPURegister ft); |
973 | 979 |
974 void bc1eqz(int16_t offset, FPURegister ft); | 980 void bc1eqz(int16_t offset, FPURegister ft); |
975 void bc1eqz(Label* L, FPURegister ft) { | 981 void bc1eqz(Label* L, FPURegister ft) { |
976 bc1eqz(branch_offset(L, false)>>2, ft); | 982 bc1eqz(branch_offset(L, false)>>2, ft); |
977 } | 983 } |
978 void bc1nez(int16_t offset, FPURegister ft); | 984 void bc1nez(int16_t offset, FPURegister ft); |
979 void bc1nez(Label* L, FPURegister ft) { | 985 void bc1nez(Label* L, FPURegister ft) { |
980 bc1nez(branch_offset(L, false)>>2, ft); | 986 bc1nez(branch_offset(L, false)>>2, ft); |
981 } | 987 } |
982 | 988 |
983 // Conditions and branches for non MIPSr6. | 989 // Conditions and branches for non MIPSr6. |
984 void c(FPUCondition cond, SecondaryField fmt, | 990 void c(FPUCondition cond, SecondaryField fmt, |
985 FPURegister ft, FPURegister fs, uint16_t cc = 0); | 991 FPURegister ft, FPURegister fs, uint16_t cc = 0); |
| 992 void c_s(FPUCondition cond, FPURegister ft, FPURegister fs, uint16_t cc = 0); |
| 993 void c_d(FPUCondition cond, FPURegister ft, FPURegister fs, uint16_t cc = 0); |
986 | 994 |
987 void bc1f(int16_t offset, uint16_t cc = 0); | 995 void bc1f(int16_t offset, uint16_t cc = 0); |
988 void bc1f(Label* L, uint16_t cc = 0) { bc1f(branch_offset(L, false)>>2, cc); } | 996 void bc1f(Label* L, uint16_t cc = 0) { bc1f(branch_offset(L, false)>>2, cc); } |
989 void bc1t(int16_t offset, uint16_t cc = 0); | 997 void bc1t(int16_t offset, uint16_t cc = 0); |
990 void bc1t(Label* L, uint16_t cc = 0) { bc1t(branch_offset(L, false)>>2, cc); } | 998 void bc1t(Label* L, uint16_t cc = 0) { bc1t(branch_offset(L, false)>>2, cc); } |
991 void fcmp(FPURegister src1, const double src2, FPUCondition cond); | 999 void fcmp(FPURegister src1, const double src2, FPUCondition cond); |
992 | 1000 |
993 // Check the code size generated from label to here. | 1001 // Check the code size generated from label to here. |
994 int SizeOfCodeGeneratedSince(Label* label) { | 1002 int SizeOfCodeGeneratedSince(Label* label) { |
995 return pc_offset() - label->pos(); | 1003 return pc_offset() - label->pos(); |
(...skipping 437 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1433 class EnsureSpace BASE_EMBEDDED { | 1441 class EnsureSpace BASE_EMBEDDED { |
1434 public: | 1442 public: |
1435 explicit EnsureSpace(Assembler* assembler) { | 1443 explicit EnsureSpace(Assembler* assembler) { |
1436 assembler->CheckBuffer(); | 1444 assembler->CheckBuffer(); |
1437 } | 1445 } |
1438 }; | 1446 }; |
1439 | 1447 |
1440 } } // namespace v8::internal | 1448 } } // namespace v8::internal |
1441 | 1449 |
1442 #endif // V8_ARM_ASSEMBLER_MIPS_H_ | 1450 #endif // V8_ARM_ASSEMBLER_MIPS_H_ |
OLD | NEW |