| 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 |