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

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

Issue 2801683003: MIPS[64]: Support for some SIMD operations (8) (Closed)
Patch Set: Rebase Created 3 years, 6 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/macro-assembler-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 1141 matching lines...) Expand 10 before | Expand all | Expand 10 after
1152 bc1f(shifted_branch_offset(L), cc); 1152 bc1f(shifted_branch_offset(L), cc);
1153 } 1153 }
1154 void bc1t(int16_t offset, uint16_t cc = 0); 1154 void bc1t(int16_t offset, uint16_t cc = 0);
1155 inline void bc1t(Label* L, uint16_t cc = 0) { 1155 inline void bc1t(Label* L, uint16_t cc = 0) {
1156 bc1t(shifted_branch_offset(L), cc); 1156 bc1t(shifted_branch_offset(L), cc);
1157 } 1157 }
1158 void fcmp(FPURegister src1, const double src2, FPUCondition cond); 1158 void fcmp(FPURegister src1, const double src2, FPUCondition cond);
1159 1159
1160 // MSA instructions 1160 // MSA instructions
1161 void bz_v(MSARegister wt, int16_t offset); 1161 void bz_v(MSARegister wt, int16_t offset);
1162 inline void bz_v(MSARegister wt, Label* L) {
1163 bz_v(wt, shifted_branch_offset(L));
1164 }
1162 void bz_b(MSARegister wt, int16_t offset); 1165 void bz_b(MSARegister wt, int16_t offset);
1166 inline void bz_b(MSARegister wt, Label* L) {
1167 bz_b(wt, shifted_branch_offset(L));
1168 }
1163 void bz_h(MSARegister wt, int16_t offset); 1169 void bz_h(MSARegister wt, int16_t offset);
1170 inline void bz_h(MSARegister wt, Label* L) {
1171 bz_h(wt, shifted_branch_offset(L));
1172 }
1164 void bz_w(MSARegister wt, int16_t offset); 1173 void bz_w(MSARegister wt, int16_t offset);
1174 inline void bz_w(MSARegister wt, Label* L) {
1175 bz_w(wt, shifted_branch_offset(L));
1176 }
1165 void bz_d(MSARegister wt, int16_t offset); 1177 void bz_d(MSARegister wt, int16_t offset);
1178 inline void bz_d(MSARegister wt, Label* L) {
1179 bz_d(wt, shifted_branch_offset(L));
1180 }
1166 void bnz_v(MSARegister wt, int16_t offset); 1181 void bnz_v(MSARegister wt, int16_t offset);
1182 inline void bnz_v(MSARegister wt, Label* L) {
1183 bnz_v(wt, shifted_branch_offset(L));
1184 }
1167 void bnz_b(MSARegister wt, int16_t offset); 1185 void bnz_b(MSARegister wt, int16_t offset);
1186 inline void bnz_b(MSARegister wt, Label* L) {
1187 bnz_b(wt, shifted_branch_offset(L));
1188 }
1168 void bnz_h(MSARegister wt, int16_t offset); 1189 void bnz_h(MSARegister wt, int16_t offset);
1190 inline void bnz_h(MSARegister wt, Label* L) {
1191 bnz_h(wt, shifted_branch_offset(L));
1192 }
1169 void bnz_w(MSARegister wt, int16_t offset); 1193 void bnz_w(MSARegister wt, int16_t offset);
1194 inline void bnz_w(MSARegister wt, Label* L) {
1195 bnz_w(wt, shifted_branch_offset(L));
1196 }
1170 void bnz_d(MSARegister wt, int16_t offset); 1197 void bnz_d(MSARegister wt, int16_t offset);
1198 inline void bnz_d(MSARegister wt, Label* L) {
1199 bnz_d(wt, shifted_branch_offset(L));
1200 }
1171 1201
1172 void ld_b(MSARegister wd, const MemOperand& rs); 1202 void ld_b(MSARegister wd, const MemOperand& rs);
1173 void ld_h(MSARegister wd, const MemOperand& rs); 1203 void ld_h(MSARegister wd, const MemOperand& rs);
1174 void ld_w(MSARegister wd, const MemOperand& rs); 1204 void ld_w(MSARegister wd, const MemOperand& rs);
1175 void ld_d(MSARegister wd, const MemOperand& rs); 1205 void ld_d(MSARegister wd, const MemOperand& rs);
1176 void st_b(MSARegister wd, const MemOperand& rs); 1206 void st_b(MSARegister wd, const MemOperand& rs);
1177 void st_h(MSARegister wd, const MemOperand& rs); 1207 void st_h(MSARegister wd, const MemOperand& rs);
1178 void st_w(MSARegister wd, const MemOperand& rs); 1208 void st_w(MSARegister wd, const MemOperand& rs);
1179 void st_d(MSARegister wd, const MemOperand& rs); 1209 void st_d(MSARegister wd, const MemOperand& rs);
1180 1210
(...skipping 639 matching lines...) Expand 10 before | Expand all | Expand 10 after
1820 static void instr_at_put(byte* pc, Instr instr) { 1850 static void instr_at_put(byte* pc, Instr instr) {
1821 *reinterpret_cast<Instr*>(pc) = instr; 1851 *reinterpret_cast<Instr*>(pc) = instr;
1822 } 1852 }
1823 Instr instr_at(int pos) { return *reinterpret_cast<Instr*>(buffer_ + pos); } 1853 Instr instr_at(int pos) { return *reinterpret_cast<Instr*>(buffer_ + pos); }
1824 void instr_at_put(int pos, Instr instr) { 1854 void instr_at_put(int pos, Instr instr) {
1825 *reinterpret_cast<Instr*>(buffer_ + pos) = instr; 1855 *reinterpret_cast<Instr*>(buffer_ + pos) = instr;
1826 } 1856 }
1827 1857
1828 // Check if an instruction is a branch of some kind. 1858 // Check if an instruction is a branch of some kind.
1829 static bool IsBranch(Instr instr); 1859 static bool IsBranch(Instr instr);
1860 static bool IsMsaBranch(Instr instr);
1830 static bool IsBc(Instr instr); 1861 static bool IsBc(Instr instr);
1831 static bool IsBzc(Instr instr); 1862 static bool IsBzc(Instr instr);
1832 1863
1833 static bool IsBeq(Instr instr); 1864 static bool IsBeq(Instr instr);
1834 static bool IsBne(Instr instr); 1865 static bool IsBne(Instr instr);
1835 static bool IsBeqzc(Instr instr); 1866 static bool IsBeqzc(Instr instr);
1836 static bool IsBnezc(Instr instr); 1867 static bool IsBnezc(Instr instr);
1837 static bool IsBeqc(Instr instr); 1868 static bool IsBeqc(Instr instr);
1838 static bool IsBnec(Instr instr); 1869 static bool IsBnec(Instr instr);
1839 1870
(...skipping 429 matching lines...) Expand 10 before | Expand all | Expand 10 after
2269 public: 2300 public:
2270 explicit EnsureSpace(Assembler* assembler) { 2301 explicit EnsureSpace(Assembler* assembler) {
2271 assembler->CheckBuffer(); 2302 assembler->CheckBuffer();
2272 } 2303 }
2273 }; 2304 };
2274 2305
2275 } // namespace internal 2306 } // namespace internal
2276 } // namespace v8 2307 } // namespace v8
2277 2308
2278 #endif // V8_ARM_ASSEMBLER_MIPS_H_ 2309 #endif // V8_ARM_ASSEMBLER_MIPS_H_
OLDNEW
« no previous file with comments | « src/mips/macro-assembler-mips.cc ('k') | src/mips64/assembler-mips64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698