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 1086 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1097 bc1f(shifted_branch_offset(L), cc); | 1097 bc1f(shifted_branch_offset(L), cc); |
1098 } | 1098 } |
1099 void bc1t(int16_t offset, uint16_t cc = 0); | 1099 void bc1t(int16_t offset, uint16_t cc = 0); |
1100 inline void bc1t(Label* L, uint16_t cc = 0) { | 1100 inline void bc1t(Label* L, uint16_t cc = 0) { |
1101 bc1t(shifted_branch_offset(L), cc); | 1101 bc1t(shifted_branch_offset(L), cc); |
1102 } | 1102 } |
1103 void fcmp(FPURegister src1, const double src2, FPUCondition cond); | 1103 void fcmp(FPURegister src1, const double src2, FPUCondition cond); |
1104 | 1104 |
1105 // MSA instructions | 1105 // MSA instructions |
1106 void bz_v(MSARegister wt, int16_t offset); | 1106 void bz_v(MSARegister wt, int16_t offset); |
| 1107 inline void bz_v(MSARegister wt, Label* L) { |
| 1108 bz_v(wt, shifted_branch_offset(L)); |
| 1109 } |
1107 void bz_b(MSARegister wt, int16_t offset); | 1110 void bz_b(MSARegister wt, int16_t offset); |
| 1111 inline void bz_b(MSARegister wt, Label* L) { |
| 1112 bz_b(wt, shifted_branch_offset(L)); |
| 1113 } |
1108 void bz_h(MSARegister wt, int16_t offset); | 1114 void bz_h(MSARegister wt, int16_t offset); |
| 1115 inline void bz_h(MSARegister wt, Label* L) { |
| 1116 bz_h(wt, shifted_branch_offset(L)); |
| 1117 } |
1109 void bz_w(MSARegister wt, int16_t offset); | 1118 void bz_w(MSARegister wt, int16_t offset); |
| 1119 inline void bz_w(MSARegister wt, Label* L) { |
| 1120 bz_w(wt, shifted_branch_offset(L)); |
| 1121 } |
1110 void bz_d(MSARegister wt, int16_t offset); | 1122 void bz_d(MSARegister wt, int16_t offset); |
| 1123 inline void bz_d(MSARegister wt, Label* L) { |
| 1124 bz_d(wt, shifted_branch_offset(L)); |
| 1125 } |
1111 void bnz_v(MSARegister wt, int16_t offset); | 1126 void bnz_v(MSARegister wt, int16_t offset); |
| 1127 inline void bnz_v(MSARegister wt, Label* L) { |
| 1128 bnz_v(wt, shifted_branch_offset(L)); |
| 1129 } |
1112 void bnz_b(MSARegister wt, int16_t offset); | 1130 void bnz_b(MSARegister wt, int16_t offset); |
| 1131 inline void bnz_b(MSARegister wt, Label* L) { |
| 1132 bnz_b(wt, shifted_branch_offset(L)); |
| 1133 } |
1113 void bnz_h(MSARegister wt, int16_t offset); | 1134 void bnz_h(MSARegister wt, int16_t offset); |
| 1135 inline void bnz_h(MSARegister wt, Label* L) { |
| 1136 bnz_h(wt, shifted_branch_offset(L)); |
| 1137 } |
1114 void bnz_w(MSARegister wt, int16_t offset); | 1138 void bnz_w(MSARegister wt, int16_t offset); |
| 1139 inline void bnz_w(MSARegister wt, Label* L) { |
| 1140 bnz_w(wt, shifted_branch_offset(L)); |
| 1141 } |
1115 void bnz_d(MSARegister wt, int16_t offset); | 1142 void bnz_d(MSARegister wt, int16_t offset); |
| 1143 inline void bnz_d(MSARegister wt, Label* L) { |
| 1144 bnz_d(wt, shifted_branch_offset(L)); |
| 1145 } |
1116 | 1146 |
1117 void ld_b(MSARegister wd, const MemOperand& rs); | 1147 void ld_b(MSARegister wd, const MemOperand& rs); |
1118 void ld_h(MSARegister wd, const MemOperand& rs); | 1148 void ld_h(MSARegister wd, const MemOperand& rs); |
1119 void ld_w(MSARegister wd, const MemOperand& rs); | 1149 void ld_w(MSARegister wd, const MemOperand& rs); |
1120 void ld_d(MSARegister wd, const MemOperand& rs); | 1150 void ld_d(MSARegister wd, const MemOperand& rs); |
1121 void st_b(MSARegister wd, const MemOperand& rs); | 1151 void st_b(MSARegister wd, const MemOperand& rs); |
1122 void st_h(MSARegister wd, const MemOperand& rs); | 1152 void st_h(MSARegister wd, const MemOperand& rs); |
1123 void st_w(MSARegister wd, const MemOperand& rs); | 1153 void st_w(MSARegister wd, const MemOperand& rs); |
1124 void st_d(MSARegister wd, const MemOperand& rs); | 1154 void st_d(MSARegister wd, const MemOperand& rs); |
1125 | 1155 |
(...skipping 634 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1760 static void instr_at_put(byte* pc, Instr instr) { | 1790 static void instr_at_put(byte* pc, Instr instr) { |
1761 *reinterpret_cast<Instr*>(pc) = instr; | 1791 *reinterpret_cast<Instr*>(pc) = instr; |
1762 } | 1792 } |
1763 Instr instr_at(int pos) { return *reinterpret_cast<Instr*>(buffer_ + pos); } | 1793 Instr instr_at(int pos) { return *reinterpret_cast<Instr*>(buffer_ + pos); } |
1764 void instr_at_put(int pos, Instr instr) { | 1794 void instr_at_put(int pos, Instr instr) { |
1765 *reinterpret_cast<Instr*>(buffer_ + pos) = instr; | 1795 *reinterpret_cast<Instr*>(buffer_ + pos) = instr; |
1766 } | 1796 } |
1767 | 1797 |
1768 // Check if an instruction is a branch of some kind. | 1798 // Check if an instruction is a branch of some kind. |
1769 static bool IsBranch(Instr instr); | 1799 static bool IsBranch(Instr instr); |
| 1800 static bool IsMsaBranch(Instr instr); |
1770 static bool IsBc(Instr instr); | 1801 static bool IsBc(Instr instr); |
1771 static bool IsBzc(Instr instr); | 1802 static bool IsBzc(Instr instr); |
1772 static bool IsBeq(Instr instr); | 1803 static bool IsBeq(Instr instr); |
1773 static bool IsBne(Instr instr); | 1804 static bool IsBne(Instr instr); |
1774 static bool IsBeqzc(Instr instr); | 1805 static bool IsBeqzc(Instr instr); |
1775 static bool IsBnezc(Instr instr); | 1806 static bool IsBnezc(Instr instr); |
1776 static bool IsBeqc(Instr instr); | 1807 static bool IsBeqc(Instr instr); |
1777 static bool IsBnec(Instr instr); | 1808 static bool IsBnec(Instr instr); |
1778 static bool IsJicOrJialc(Instr instr); | 1809 static bool IsJicOrJialc(Instr instr); |
1779 | 1810 |
(...skipping 440 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2220 public: | 2251 public: |
2221 explicit EnsureSpace(Assembler* assembler) { | 2252 explicit EnsureSpace(Assembler* assembler) { |
2222 assembler->CheckBuffer(); | 2253 assembler->CheckBuffer(); |
2223 } | 2254 } |
2224 }; | 2255 }; |
2225 | 2256 |
2226 } // namespace internal | 2257 } // namespace internal |
2227 } // namespace v8 | 2258 } // namespace v8 |
2228 | 2259 |
2229 #endif // V8_ARM_ASSEMBLER_MIPS_H_ | 2260 #endif // V8_ARM_ASSEMBLER_MIPS_H_ |
OLD | NEW |